(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Biodiversity Heritage Library | Children's Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Inside X68000"

16^X1 







棻 野雅彦 



ぁ 



4 1 ^|2? 一:.,. , 3 'で : ^ ^^^!... 111111111 




"^^^^ 54?^^^^^^ 13 !^" ル" "/"—え'" に""'" "ひ 攀 



參 本書に 掲載した プログラム 名, システム 名, (:?リ 名な ど は 一般に 各社の 登録商標です。 

本文 中で は, とくに 丁! VI, 8 マーク は 明記して いません。 

01992 本書の 内容 は, 著作権法 上の 保護 を 受けて います。 

著者, 発行 社の 許諾 を 得ず, 無断で 転載, 複製す る こと は 禁じられて いま す。 



^ X 68000 が あの グラ ディ ウスの テーマに 乗って 登場して きたの は 1987 年の ことにな り 
ます。 国内で は, ?じ - 9801 の 一人 勝ちが ほほ 1?餘 し, その他の メーカ もす ベて 80乂86十1\15- 
003 となって しまい, ノ 、。一 ソナル コンピュータの 「パーソナル」 力 《個人 ユーザで はなく, 会社 
の 中の 各社 員 を 指す だけの ものに なり 下がって しまった, そんな 時代で あつたと 思います。 シ 
ャ ープが X 1 の 16 ビット 版 を 出す という 話 か)' 1 れた とき も, 「どうせ 86 系の マシン さ」 「16 ビ 
ッ トは 98 でい いじ やない か」, そんな 声が 出て きて しまう ほど, 個人 ユーザが パーソナル コン 
ピュー タ に 冷め てし まってい たよう です。 

そのよ う な ユーザの 前に 現れた X 68000 は, これまでの パーソナルコンピュータ に対する ィ 
メージ を 大き く 転換させる ものでした。 縦 型の ス リ ムな デザィ ンの 中には 個人 ユーザ か 望んで 
いた じ?11, 68000 が 搭載 さ;^ 標準で 1 1\18, 最大 12 もの リニアな メモリ 空 問, 65536 
色の グラフ ィ ック, 768X512 のビッ ト マップの テキスト 画面, ス プライ 卜,?] V [音源" 八 0?じ1^ 
ォー ト ィ ジェク ト樹降 付き 5 ィ ンチ ? 00, 3 スコー フ。, 画像 取り込み, トラック マウス, 900 
イン タフ ヱース 標準 装備 …… 。 予想す らしなかった その 仕様と, 40 万円 を 軽く 切って しまった 
その-安 さに, 声 も 出なかった 覚えが あ り ます。 

ワープロ であ つたり, 表 計-胃で あ つ た り する 側面 だけに 目 力 5 ' 向け られ てし まい, ビジネス 
用の 環境 以外 はすべ て オプション として 買い 揃えて いくより ほかない 「パソコン」 と, 何 か を 
行いた くな つたと きに, すぐ その 場で 試したり, 考え方 や イメージ を そ の 場で 表現す る 欲求に 
すぐ 応えて くれる だけの ポテンシャル を 持った 「パーソナルコンピュータ」 は, まったく 別 も 
ので あると いう 考えから 「パーソナル ワークステーション」 という 言葉が 出て きたの も 当然で 
しょう。 

パーソナル ワークステーション, つまり 個人の 発想 や 直" 感に 応え, そ れ を-表現 し, 実現 し, 
さ ら なる 発想に 結び付け る ための プラ ット フォーム, 5 年の 歳月 を 経て も なお 新しい X 68000 
を その内 側 ま で 使 レ 、こみたい と 思つ た 方に, 本書 は きっとよ き 道案内 となる ことでしょう。 



1992 年 2 月 



お 野稚逢 



乂68000 の 系譜 



初^ 1 以来, 多 く の 機種 力 5 ' 登場 してきた X 68000 シ リーズ を 年代順に 整理 してみ ました。 
X 68000 は 新 機 重と いって も, じ? じゃク 口 ッ ク 周波数な ど をいた ずらに 変更す るので はな く , 
ソフト ゥ ヱァ, ハードウェアの 互換性 を^; 限に 保ちつつ 高 對責化 を はかり, 空いた スペース 
を ハードディスク (只:):)) や 3 じ 51 や コプロセッサ など, ^ 外付け ユニット ゃォ プショ 
ン ボー ドで 対応して いた もの を 内蔵で きる ようにし ていく という 方向に 向いて います。 このよ 
うな 方針の ため, たとえ 初 (無 印) であっても, まったく 古さ を 感じさせません。 

1987 年, 初代 X 68000 せ, 翌年, 擬責度 を 向上 させて 20 の 3 胃 5 インチ 31)0 を 内蔵 
できる ようにした X 68000 八 (:ョ/ 八 じ2- 110 力 、 '登場 します。 

さらに 1989 年に は, 内蔵 1300 の 容量 を 40 1^6 まで 上げた 2X1^11 丁, 横 型の ?卩 が 
ラインアップに 追加され ました。 ?1^0 の チ激 は, の X 68000 の 系列の デザイン 重視 型と 
は 異なり, やや ビジネス 臭 さ を 感じさせる シリーズです。 当然, ソフト ゥヱァ 的に は 完全 互換 
です 力つ お 張ス 口 ッ ト は 縦 型 機の 2 スロット に対して 4 スロット と 拡充され マウス は トラ ッ 
クマ ウスで はない, ごく 普通の タイプに なり ま したし, キー ボー ド はシリ ン ドリ カル ステップ 
ス カルプ チヤ 型で アーム レスト も あるよう な ものに 変更され ました。 また, あまり 利用され て 
いなかった 30 スコープ^ は 取り外されて います。 組み立て やすくな つたた めか, 価格 は 縦 
型より も 低く 抑えられて いました。 

翌 1990 年 は, X 68000 にと つて は 混沌の 年と もい える でしよう。 2X52 尺 丁, ?尺0 シ リー 
ズに それぞれ^! 纖が出 た ほかに, 900 イン タフ ヱ ースを に 変更 し, 80 1^8 の 1300 
を 内蔵 させた 力 ^ 追加され ま した。 この 年, 一気に 5 搬 重が 発売され たこ と にな り 
ます。 その後, 5リ?2 & の 800 がない タイプで ある 力 《投入さ^ 型番 上 も 実 
質的に も , ^丁 の ^!瞧 となりました。 

明けて 1991 年, 初 以来 変更の なかった クロック 周波数が 10 1\1112 から 16 1^112 に 引 
き 上げら;^ 内部での メモリお 張 I 生の 向上, オプション ボードで 対応して いた コプロセッサ を 
本体 内部に 取 り 付けられる よ う にす るな どの 改良が 加え られま した (乂マり。 

50?211 で 1100 イン タフ ヱ ースが 3 じ 31 になった り , XVI で クロック が 弓 I き 上げられた 
ために 動作 力 5 ' 速くな つたり, といった 違い はあり ますが, ソフ トウ エアから みた ときには どの 
搬重 であ つても 完全な 互換性 を 保つ ています。 上 ィ扭換 という ことで は あ り ません から, あ る 
皿 でつくった プログラム 力 5 ' そ; 11X1 前の 衡重 では 動作 しないと いった こ と も まず 起こ り ません 
(初期の ころ は メモリ を しか; 漬ん でい なかった ため, 2 1^8 ある こと を 前提に している 
ソフト ゥヱ ァか 動かない という こと は あるでしょう 力、 これと て メモリ を 増設して あれば すむ 
ことです)。 



図 …… 1 X 68000 シリーズの 系譜 





5 



本書で は, 1/0 の 割り付け や ブロック 図な ど は, すべて 初^ III (無 印) にもとづいて 説明し 
ており, ま たサ ン プル プロ グラムの 動作 チ ヱ ックも 初 (^に 増設 メ モリ や コプロセッサ ボード, 
3051 イン タフ ヱース ボードな ど を 追加 して 行いました。 念の ため, 本書の 執 胃 に 使用 してい 
た システムの 構成 を 掲げて おきます。 

參 システム # 1 

X 68000 〈 初代 機 〉 十 内部 増設 ひ ^ 十 拡張 メ モ リ ボー ド ひ ^0 十 コプロセッサ ボー ド (じ 2 
- 68?;0十401^8- 5 八 5 レ ヽード ディスク (キャラ ベル/ !^钆ミ) 十 カラー イメージ ュニッ ト に 2 
- 6乂 丁 1〉 
參 システム # 2 

X 68000 (初ィ 壤) 十 内部 増設 〈1 1^8〉 + 5051 インタフェース ボード (じ 2-6851〉 十 100 18 
- 3 じ 31 ハードディスク (アイ テック/丁 乂- 川!)) 
ディ スフ 。 レイ は どちらも じ 2-600 02 を 使用。 




サンプル プログラム について 



アセンブラよりも ロジックが 見やす く, 流用 や 改造な ども 容易であろう という ことから, 本 
書で は サンプル プログラムの 記述に (: 言語 を 使用す る ことにし ま した。 

X 68000 用の (: コンパイラ は, シ ャ ーフ 。糸 征 の X。 と フリーソフト ゥヱァ の おじ 力 5 ' 広 く 出 
しっています。 純正と いう 意味で は 乂じ を 標準と すべき かも しれません が, びじ の ほうが 圧倒 
的に 生成され る コードの 質が よく, バグ カ沙 ないようで すし, 入手に ついても, パソコン通信 
や 電脳 倶楽部, ソフト バンクの 『じ マガジン』 や 『0ヒ! X』 誌の 付録 ディスク など, 多くの ル 
一 ト で 配布され たこ と 力、 ら, 8 び の ほう 力 5 ^ &的 ではない かと 考え, これ を 採用し ま した。 

このため, 本書で は がじ を 標準 として プログラム を 作成 しています。 一応, XI: でも コンノ 、。 
ィル して 動作 は 確認して いますが, この ときには # お & 16乂013|:;16 の 1 行 を 人れ るの を 忘れな 
いように してく ださい。 

また, サンプル プログラム はすべ て 割り込み を 細せ ず, ステータス チェックで ぐるぐ る 回 
りながら 動作の 終了 を 侍つ, というよ うにして います。 X 68000 は 割り込み 力 5 有効に 使える よ 
う な ハー ドウ ヱァ になって いますし, 基本的に 入出力 動作な ど は 割 り 込みで 行う のが 普通です 
力 3 ', サ ンプ ノレ プロ グラ ムは動 イ^ 1窗 認 がお もな 目 的です し, 割 り 込みべ ク タを いじり 間違え た り 
すると, すぐに 妙な!^ 乍 を 始めて しまう ことになる ことから, このような プデ法 をと りました。 
実際に アプリ ケーシ ヨン をつ く るよう な 場合に は, できるだけ 割り込み を 使う ようにし たほう 
力 5 ' よいで しょ う。 



6 



サンプル プログラム 目次 



01^1 众 関連 

0^0 による テキス ト 画面 ク リ ァ 58 

グラフィック への 矩形 領域 車 適 (アレイ チェイン モー ド) 61 

グラフィック V?! 八! VI への 矩形 領域 車 速 (リンク アレイ チェイン モード) …… 65 

数値 演算 プロセッサ 関連 

301\^ 内 データの 読み出し 139 

^1 演算 ほ叫ぃ.。)) 141 

; 111 演算 ひ. 141 5+2.7 182〉 143 

8 丁 関連 

時計の 読みお し 157 

画面 制御 閬連 

テキスト 丽 スクロール (じ 1.0 238 

グラフィック 画面 4 方向 スクロール 〈02.0 239 

ラスタ コピー 機售 巨に よる テキスト 胃 スクロール (じョ.。) 242 

グラ フ イツ ク 画面の 高速 ク リア (じ 4 , じ) 245 

65536 色 モードでの 4 プレーン^ ^スクロール (じう.。) 248 

768X512 ドット モードでの 65536 色 表示 (ソ,ぷ) 250 

グラフィック 画面 2 面と テキスト 画面の 半透明 謝 乍 (ソ?.。) 251 
8(3 画面!^ & スクロール 〈51.0 252 

^0?01^ 関連 

51 「の 連続 データの 再生 298 
「00 関連 

フロッ ピー ディ スクの 読み込み 423 

ハードディスク 関連 

5^51 ディスクの 言 売み 出し 446 

5051 ディ スク からの ネ旨定 プロ ックの 読み出 し 508 



7 



X 68000 の 系譜 4 
サンプル プログラム 目次 



2 メモリ マップ 19 

拳 1 メモリ マップ 19 

鲁 2 ^し イメージ 19 

參 3 メインメモリ 21 
參 4 グラフィック 21 

拿 5 テキス ト V?! 众! VI 22 

攀 6 システム 1/011^ 22 

春 7 ユーザ 1/0, 58 八! VI 22 

拳 8 06001^ 23 

參 9 19 し- 801^ 23 



: 0^ - , 25 

參 2 01\ /!众 の チャン ネゾ ほ』 り 付け 27 

肇 3 01^/^0 の レジスター 覽 28 

肇 4 01\^ 众 0; の!^ モード 28 

4-1 1 オペ ラン ド 分の!^! モー ド 30 

4—2 1 ブロ ック 分の 車^! モ一 ド 32 

4-3 複数 ブロックの! ^モード 35 

參 5 0^0 の レジスタの 内容 37 

5-1 05^ 0^1^ 38 

5-2 00^ 0び 43 



001^1 丁 巳^ 丁 5 



5-3 50^ 001^ 50 

5-4 09^ 53 

5-5 IV! 「じ, 0「0, 8 「じ 54 

5-6 00^ 55 

參 6 I "(リ の30 68 X 刀 期 設定 値 57 

91 サン プゾ げ ログ ラム 58 

7-1 01^ 八 じに よる テキスト 胃ク リア 58 
7-2 グラ フィック V 八! VI への 矩^! 域!^ (その 1 〉 61 
7-3 グラフィック V?! パ! VI への 矩^! 域!^ (その 2 〉 65 



: 割り込み ^ 

#1 割り^ 雜とレ ベノ^り 付け 71 

#2 割り^!^ 73 

罄 3 0^ クタ 74 

誊 4 割り^ ^ ベクタ 設定 ポート 76 



#1 颗 77 

參 2 ^ドド の 各 機能の 割り付け 77 

#3 "「ド の レジスター 覽 79 

き 4 0?\? (汎用 1/0 ポート) 79 

4-1 レジスタ 80 

4-2 ;\6:8 〈 アクティブ エッジ レジスタ) 82 
4-3 003 〈 データ ディ レ クシ ヨン レジスタ) 82 

5-1 I 巳 8 八 /1 &?! 8 〔 害 I】 り 込み イネ 一 ブリレ レジスタ 八 /曰) 85 

5-2 195 ムハ 〈 割り込み ペンディング レジスタ 八/曰) 85 

5-3 15^/15^8 (ィ ンサ一 ビス レジスタ 八 /曰) 85 

5-4 1^1^/11^ ?!8 (インタラプト マスク レジスタ 八 /ョ) 86 

5-5 ベクタ レジスタ 86 



9 



6 タイマ 87 

6—1 タイマの 辦 モード 87 

6-2 タイマ 関連の レジスタ 90 

7 115 八 8 丁 (シリア^ 一 卜) 92 

7-1 5じ^ 〈5 丫^ キャラクタ レジスタ) 93 

7-2 リ 日 (リ 丁 コント ロー ノレ レジスタ) 93 

7—3 ^?5^ (レシ 一, く ステータス レジスタ) 95 

7—4 丁 5?? (トランス ミッタ ステータス レジスタ) 98 

7-5 リ 只 (じ 5 八 円 丁デ— タ レジスタ) 101 

8 1^(7^ 設定 101 



: 数値 演算 フ 13 乜ッサ 。 3 

9 1 概要 103 

# 2 68881 の 内部 レジスタ 104 

2-1 「〜 105 

1-1 ^^0^ ド卩5 & ド ! 3 "^ 105 

⑩ 3 68881 が 扱える データ フォー マツ ト 108 

3-1 実数 データの フォー マツ ト 109 

3-2 ^^な 実数 データ 110 

3-3 68881 内部の データ フォー マツ ト 110 

櫞 4 68881 との インタフェース 111 

4—1 応答 ひ 円 113 

4-2 コント ロー ノレ じ |卩 113 

4-3 セーブ 门只 113 

4—4 リストア ひ0 114 

4-5 オペレーション ヮー ド 01^ 114 

4-6 コ マン ド (:旧 114 

4-7 コン ディ ショ ン (:^ 1 14 

4-8 オペランド 旧 114 

4-9 レジスタ 飄 旧 115 

4-10 命令 アドレス じ 旧 115 

4-11 オペランド アドレス (:^ 115 



10 



001^ 丁 巳!^ 丁 5 



5 応答 プリ 5 ティブ 115 

5-1 ヌル プリ ミ ティブ 116 

5—2 実効 ァ ド レス 謂 1/ データ 車寇 プリ ミ ティブ 116 
5-3 単一 メイン プロセッサ レジスタ 15^ プリ ミ ティブ 118 
5-4 複数 コプロセッサ レジスタ 車^! プリミティブ 118 

5-5 ^^前例 外 取得 プ リミ ティ ブ /^"中 例外 取得 プ リミ ティブ 柳 

6 68881 と ホス ト 。? リ のコ ミ ュニケ 一シ ョ ン 120 
6-1 68881 内 レジスタ 間 演算/データ 転送 命令 120 
6-2 レジスタと 外部 データの 間の 演算/外部から レジスタへの データ 車^ 命令 121 
6-3 レジスタ 力、 ら 外部への データ 車 速 122 

6-4 コント 口一 ルレ ジス 夕の 車^ 命令 124 

6-5 複数 孚動' 1 、数き データ レジスタの 車^! 124 
6-6 条倾 き^^ 麵乍 126 

6-7 ^5^ソ57^?!巳5 丁 08巳^^!5 里!^ 乍 127 

6-8 使^^ !酵 129 

7 68881 の 絲フォ —マツ ト 131 
7-1 一般的な 鈴 〔0? クラス (!!)!)/"!)) 131 

7-2 「閘。^。!^ ("。ゆ ザ 「001 001151:3111; あの) 132 

7-3 浮動小数点 レジスタから 外部への 車 縫 132 
7-4 コントロール レジスタの 車^! 136 
7-5 複数' 孚 動'】、 数 点 、データ レジスタの 車 縫 136 
7-6 条 鼎き^" の フォーマット 137 

|8 サンプル プログラム 139 



: 070 147 

秦 1 8 丁 周辺 プロック 図 147 
9 2 8 丁 (: の レジスタ 148 

2-1 しに リ丁 セレク ト レジスタ 150 
2-2 アジ ヤス ト レジスタ 150 

2-3 12/24 時間 セレクタ 151 

2-4 閏年 カウンタ 152 

2-5 !7!00^ レジスタ 152 
2-6 テス ト レジスタ 153 

2-7 ^に 5^: 丁 コントローラ 10 づ 



3 8 丁 の アクセス 155 

3-1 時刻の 読み出し 155 

3—2 時計 データの 書き込み 156 

3-3 そ 嫩 の!^ について 156 

4 サンプル プログラム 157 



! 画 面 制御 161 

秦 1 X 68000 の 115111 成 161 

1-1 グラフ ィ ック 164 

1-2 テキス ト 画面 164 

1-3 80 画面 165 

1-4 スプ ライト 165 

き 2 各 画面 成と アドレス 配置 166 

2-1 ダラ フ イツ ク 画面の 構成 166 

じ0 し リ" 闪 —インター レースと ニ^! 売み 167 

00 しリ! VI 1\1 ^ 才一 バス キャン 168 

00101^1X1 —ページと プレーン 171 

2-2 テキス ト 画面の 構成 171 

2-3 8(3 画面の 構成 173 

2-4 ス プライ ト 画面の 構成 178 

3-1 (: 只 丁 インタフェースの^! 181 

3-2 丽の 01^/0 ド 「, プライオリティ 制 3^ 185 

0011(1^1^ —グラフィック ページ 間 プライオリティ 帝 I 胸のから く り 192 

3-3 11^ ス クロ一 ゾレ 194 

じ0 しリ! 一 グラフィック 翻の スクロールと 高速 ク リア 制 胸のから く り 198 

3-4 (^丁 0(7^^ 機能 200 

3-5 ビデオ コン ト ローラ (?)^ 表示 機 31 207 

3—6 カラー ノく レツ ト 213 

き 4 0(3801^ (キャラクタ ジェネレータ 闩ひ") 218 

4-1 8X8 ドット フォント 221 

4-2 8X16 ドット フォント 221 

4—3 12X12 ドッ ト フォント 222 



12 



じ01\1 丁 曰^ 丁 5 



4-4 12X24 ドット フォント 223 

4-5 16X16 ドット フォント 224 

4—6 24X24 ドット フォント 225 

じ0 し リ1\^1\1 ^ 0(3601^ の パタン 158 の 実際 226 

5 画面 モ一ド 缶 卿 230 

5-1 0。 丁 230 

5-2 ビデオ コントローラ 234 
5-3 スプ ライト コントローラ 234 
5-4 雜 上の 魏 236 

6 サンプル プログラム 238 

6-1 テキスト 顧ス クロ一 ル 〈01.0 239 

6-2 グラフィック 画面 4 方向 スクロール (じ 2.0 239 

6-3 ラスタ コピー 機 81 による テキスト 画面 スクロール (じ 3.0 242 

6-4 グラフィック 画面の 高速 ク リア (じ 4.0〉 245 

6-5 65536 色 モードでの 4 プレーン 345: スクロール (じ 5.0 248 

6-6 768X 512 ドット モードでの 65536 色^: (ソ卜じ) 250 

6-7 グラフィック 目 2 面と テキスト 画面の 半透明!^ 乍 (ソヌ.。) 251 

6-8 8(3 画面!^ & スクロール 〈5 1.0 252 

じ0 しじ !^闪 ^ 0? じの アクセス 可能な 期間 254 



サウンド 機構 59 

⑩ 1 X 68000 の サウンド 構成 259 
參 2 「IV! 音源 261 

2-1 091^ の 内部 ブロック 261 

2-2 スロットの 263 

2-3 そ 嫩 の 部分の 265 

2-4 0^ のァ ド レス 配置 266 

2-5 0^ の リー ド レジスタ 267 

2-6 01=1^ の ライト レジスタ 268 

2-7 雜 値と 01=1^ の 動作の 関係 287 

參 3 ^0?01^1 291 

3-1 ^01=01^ の 概要 291 

3-2 関係の レジスタ 292 

3-3 サンプル プログラム 297 

13 



3-4 /^ロ?じ!^ データ 302 

00 しじ! ^ みり! 3 !;!^ の アクレ ゴ リズム (六 01=01^ 音声 分析の 手) 噴) 303 



攀 しし 305 

參 1 300 305 

1-1 5じ0 の データ通信 モー ド 308 

1-2 ボーレート ジェネレータ 314 

1-3 データの:^ 化 314 

1-4 09 しし 316 

1-5 ロー 力 ノレ ノレ ープ^ く ックと オート エコー 機冑 6 316 

1-6 割り込み 317 

1-7 5 じ (: の レジスタ 318 



! ヤー ホー!^ ヾ ウス 353 

鑼 1 キー ボ一 ド /マウス 娜 要 353 

像 2 キー ポー ド /マウス 関連 ポート 355 

2-1 システム ポート #2 355 

2-2 システム ポート #4 356 

#3 キーボードからの 入力 データ 357 

暴 4 キーボードへの 出力 データ 358 

4-1 ディスプレイ コント 口一 ゾレ 359 

4-2 マウス コントロール 信号 制御 359 

4-3 キ 一データ 送出 許可/^ II: 361 

4-4 ディスプレイ コント 口 一ノレ モード 361 

4-5 し 03 明るさ 皿 362 

4-6 本体からの ディスプレイ 制御の 有効/無効 激尺 363 

4-7 0? 丁 刀 キーに よる ディスプレイ 制纖 可/^ ± 363 

4-8 キー リピート 開始 時間!^: 364 

4-9 キ —リピート 間隔!^ 364 

4-10 キー ボー ド し 50*1 御 365 

參 5 ディスプレイ 4 麵号 365 

參 6 キーボード 機能 366 



14 



001^1 丁 6:!^ 丁 5 



6-1 し匚 の 明るさ 指定 366 

6-2 し 5:0 チェック 367 



2 プリンタ 371 

⑩ 1 プリンタ インタフェース 繩 要 371 

1-1 プリンタ 制御 タイミング 372 
92 プリンタ 関連 ポート 373 
2-1 プリンタ データ ポート 374 

2-2 プリンタ スト 口一 ブポ一 ト 374 

2-3 割り込み 信号 ステータス 374 
2-4 割り込み マスク 375 
2-5 割り込み ベクタ レジスタ 375 



ショ 1 人 丁 イツ ク 377 

1 ジョイスティック インタフェースの 概要 377 

2 ジョイスティック 関連 ポート 379 

2-1 ジョイスティック # ひ#2 379 

2-2 ジョイスティック コントロール 379 
2-3 コン トロー ゾ レワ 一 ド 381 



! フロッピー 7^ スク 387 

9 1 1=00 インタフェース 要 387 

攀 2 1=00 她 様 389 

睿 3 ド 00 インタフェース 関連 ポート 389 

3-1 1/0 コント ローラの 「00 醒ボ— ト 391 

3-2 01=1^ 〖 丫! VI 2151〗 の 「00 関連 ポート 395 

94 1^00 396 

4-1 ド 0じ ステータス レジスタ 396 



15 



4-2 「00 の フェーズ 離 397 

4—3 リザルト ステータス 399 

4—4 トラック フォーマット 401 

暴 5 「IX: の コマンド 403 

5—1 0焱 丁 八 コ マン ド 404 

5—2 ^巳ム 0^: し 巳 丁 5:0 0众 丁 八 コマンド 407 

5-3 ^?^0 10 コマンド 408 

5-4 \^ ^丁 6: 10 コマンド 408 

5-5 が ^丁 巳 八丁 八 コマンド 409 

5-6 ^ ^丁 巳 &し^ 丁匚 0ム 丁/ \ コマンド 410 

5-7 ^匚 八! 3 01^01\105 丁 10 コ マン ド 411 

5-8 50 八^ & 01 リ^し/ 5じ^1\1 し 0が 0^ 匚 リムし/ 1-1161-1 0^ 匚 リ 八し コ マン ド 412 

5—9 5 巳 ^《 コマンド 415 

5-10 8 巳 じ バし 旧卩 八丁 [コマンド 416 

5-11 5 曰^ 5 曰 丁 [。& じ I 3 ! 5 丁 八丁 リ 5 コマンド 417 

5-12 5^55 0^ /に 曰 5 丁 八丁 115 コ マン ド 417 

5-13 巳 01^ 丫 コマンド 418 

5-14 5 巳 丁 5 丁へ^ 08 丫 コマンド 420 

5 - 15 ^^5 巳 丁 5 丁/ 丫 コマンド 420 

5 - 16 501^ 丁 ^ 八?^: ^^5 匚丁 コマンド 421 

5-17 「0じ ノ、 。 ラ メータ/ステータス 一覧 421 

書 6 サンプル プログラム 423 



: 5 八 51 429 

秦 1 5 八 51 バス 086^ 429 

1-1 5 众 51 ディスクの 構成 429 

1-2 5 ム 51 バス 信号 431 

1-3 5 八 51 バスの フエ ーズ驟 433 

1-4 5/^51 の' くス! ^乍 436 

1-5 5 パ 51 インタフェース ポート 一覧 439 

1—6 5 八 51 のコ マン ド 440 

1-7 5 八 51 の 主要 コマンド 441 

鲁 2 サン プノ げ ログ ラム 446 



16 



001\1 丁已^ 丁 5 



: 5051 ^ 

9 1 5051(7^ 要 453 

1-1 5051 バスの 職 454 

1-2 5051 バス 信号 454 

1-3 5051 バスの フ I ーズ :1! 多 456 

1-4 5。51 の バス! ^乍 462 

⑩ 2 X 68000 の 8031 インタフェースの 概要 465 

2-1 5051 関連 ポート, 害 I』 り 込み 466 

2-2 1卩 し- 只 0〜 の 内容 466 

2-3 5卩 パ! VI の 内容 466 

2-4 5051 装置の メディア バイ ト 467 

2-5 5051 デノく イス ノ 《ラメ一 タ 468 

2-6 5051 ハー ド ディ スクの 管理情報 469 

2-7 5051 コントローラと 刚 八 469 

秦 3 5ド0 〔5051 プロ トコ ゾレ コントローラ) 470 

3-1 5卩じ の レジスタ一 覧 470 

3-2 8010 レジスタ 473 

3-3 5じ 丁し レジスタ 473 

3-4 501710 レジスタ 476 

3-5 丁 5 レジスタ 477 

3—6 ^51^5 レジスタ 480 

3-7 5060 レジスタ 481 

3—8 55 丁 5 レジスタ 481 

3-9 5 巳^^ レジスタ 483 

3-10 !^じ 丁し レジスタ 484 

着 4 5ド0 の! ^モード 485 

誊 5 5?0 の コマンド 486 

5-1 巳リ 5 ^6)6356 コマンド 486 

5-2 5616 は コ マン ド 487 

5-3 5@1 へ 丁!^ コマンド 488 

5—4 ^6561: パ丁^ コマンド 488 

5-5 丁 「305 お 「コマンド 489 

5-6 丁 「3 门 5ぉ「 円 3 リ 56 コマンド 490 

5-7 561 八 《/^巳 コマンド 490 

5-8 ^6561: ^0^^0 コマンド 490 

17 



碜 6 5031 の 主要 コマンド 490 

6—1 5051 コ マン ドの 一般 形 491 

6-2 5051 コ マン ドのコ 一 ド 493 

6-3 5051 の 主要 コマンドの 内容 493 

鑲7 ステータス バイ ト 500 
暴 8 センス データ 502 
秦 9 メッセージ データ 504 

9-1 10^1^ 丁 I 「丫 メッセージ 505 

9—2 拡張 メッセージ 505 

9 10 サンプル プログラム 508 



2 シス 丁厶 ホート 517 

9 1 システム ポー 卜の アドレス 配置 517 

1-1 システム ポート #1 517 

1-2 システム ポート #2 518 

1-3 システム ポート #3 519 

1-4 システム ポート #4 519 

1-5 システム ポート #5 520 

1-6 システム ポート #6 520 

おわりに 521 



13 



X 68000 の 0?0 であ る 68000 に は 80X86 のよ う な 1/0 空餺、 
はなく, 16 ^の メモリ 空間が ある だけです。 ごこで な | 
X 68000 で, こ の メモ リ 空間 を どのよ う に 割 り 振って いるか 
について 説明し ます。 




メモリ マツ フ 



X 68000 の メモリ マップ を 20 ページの 図 1 に 示します。 (:?じ の 持つ 16 IV [バイ トの メモリ 
空間の うち , 番地 力、 ら 38???^? ま での 12 IV! バイト 分が メ イン メモリ の 領域' 50 00000 以 
降が ダラ フィック 画面 ゃテ キ スト 画面の V 尺八] VI や 1/0, I? レ& 01^1 の 領域 となって います。 




『し イメージ 



68000 という は リセ ッ ト; ^解除され ると, 3000000 番地と 3000004 番地から 55? (ス 
ーノ、 。一 バイ ザ スタックポインタ) と ? (: 〈 プログラム カウンタ) の 初期値 を 読み出して, 動作 を 

開始し ます。 乂 68000 の 場合, 番地 側 は メインメモリ 領域と なって いますので' 何も 糸 81 を 



19 



》 図- 



の メモリ マップ 



一 1 



お 010000 



3^00000 



ま 巳 80000 



ま 巳 00000 



5^0000 
5 「三 0000 



『し イメージ' 



本体 内蔵 メモリ 

(聽) 
全 機種 標準 装備 



本体 内蔵 メ モ リ 

(誦) 
標準/オプション 
(機種に よる) 



拡張 メモリ 

([! 1れ 翻 巳) 



グラフ ィ ッ ク 
ソ瞧 



テキス ト 



システム 1/0 



- ザ 1/0.5^^ 



^吏 用 028X8】 



〇圆 お 
ひ68 ペ ョ) 



(予 備) 



I ドしや リ 〔128 化) 



"リセット 直後 
のみ 

ま ドド0000〜 
と 同じ 

内容が 読める , 




5^00000 



捉 00000 
3 & 04000 



5 已 厂 「「ビ 



スフ 。 ライト レジスタ 



ス プライ トソ圆 



ユーザ 1/0(6 聽) 

(拡張 ポー ドで 使用 可) 



5^(^1(1 6^ 



予備 ^叨) 



メモリ マップ 



しないと, じ? II は リセット 直後に 01^ 八] V [上の 不定の データ を 読み出し, 暴走して しまい ま 
す。 そこで, 乂 68000 では 3000000~300?1^? の 64〖 バイ トの 領域 は, 電源 投入 直後 や リセ 
ット スィッチ による リセ ッ ト 直後に かぎり, I? レ^ 0]V [領域の 5??0000〜5?????? の 領域 
がその まま 見え (どちらから アクセスしても 尺 0]V [の 同じ 領域 か 読める), 5??0000~5???? 
の 領域が ァ クセス される と, こ の 領域が 尺八]^ 領域に 切り替わる ようにし ています。 この 
胃 は, 電源 0卩 や リセ ッ トス イッチに よる リセ ッ ト がかかった とき だけ 働く ようにな つてお 
り, 1^232 丁 命令な どを英 行しても, 番地から I? 乙-只 01^ の 内容が 1 壳 める ように はなり ませ 
ん。 




メインメモリ 



X 68000 は 最大 12 IV [バイトの メインメモリ を 持つ こ と がで きます。 こ の 領域の うち, 番 
地からの 1^1 バイ ト分 は, 初 丫饿雜 すべての 機 重で 標準 装備され ています。 お 00000 から 51 
??? までの 1^1 バイ ト分 は, 標準で 搭載して いるものと オプション になって いるもの とが 
ありま すが, ォプシ ヨンに 設定され ている もので あっても, 本体 内部で 増設で きる ようになつ 
ています。 

5200000 番地 以降の 分の 増設 は, XVI 以外の 機種で は 拡張 ス ロットに メモリ ボー ド を 差 し 
込んで 行レ 、 ま す。 XVI は 本体 内部で 8 IV [ノ くィ ト ま で 増設で きる ようになって います。 




グラフィック ソ1^ 八! VI 



グラ フィック は 《(^(^〜?!)????? ま での 2 皿 バイ ト 分の 空間が あ り ま すが, 
実際に 搭載され ている メモリ は 512 X バイ 卜です。 乂 68000 の グラフ ィ ック 画面 は 16 色 モー 
ド, 256 色 モー ド, 65536 色 モー ドの 3 種類が あ り ますが, いずれの 場合に も 1 ドットに 1 ヮー 
ド 分の 領域が とって あり ます。 16 色 や 256 色 モー ドの 場合に は, 1 ヮー ド のう ち, 下位の 4 ビ 
ッ ト ズ8 ビッ ト だけ 力 ^ 使用され るよう になって います。 このため, 実際に は 5121^ バイ ト しか メ 



21 



モリがなくても, メモリ 空間 は 実 画面の 最大 サイズ, 1024X1024 ドット 分 ある わけです。 




テキスト V?? 八! VI 



テキスト 乂尺 八] VI は 5121 く バイ ト 分が 実装され ています。 テキスト 画面 は, 1024X1024 ド 
ッ 卜の 画面が 4 プレーン という 構成に なって おり, グラフ ィ ック 画面の ように 無効な ビッ トが 
ないた め, メモリ 空間 上 も 5121^ バイ ト分 となって います。 




システム 1/0 領域 



システム 1/0 領域に は, (^丁 や? 0, 1^ [音源な どの 周繊& 制御 用の デバイス や, スプラ 
ィ ト 01 の メ モ リ な どが 配置 さ れて います。 




ユーザ 1/0, 31 ^八! VI 



ユーザ ォ リ ジナル の 拡張 ボー ド などで 使用で き る 領域と して, ぁ^;ひり!^〜乐^!:???? の 64 
X ノ く' ィ ト 分力 嘈リ り 当てられ ています。 こ の 領域 は ユーザが 自由 に 使用で き, アクセス も ユーザ 
モードから 行う こと 力 5 ' できる ようになって います。 

5 尺八] VI はバッ テリ バックアップされ ている メモリ で', 電源 を 切 つても, 内容が^ さ れて レ 、 
ます。 搭載され ている メモリの サイズ や 画面の 色の 初期値な ど, システムの セッ ト アップ 用の 
デー タ を 保存す る な どの 用途に 使用 されて います。 



メモリ マップ 




0(3^01^ 



00110^1 (キャラクタ ジェネレータ 尺 滅) は, 英数字, 漢字な どの 文字の パターン 力 5 書 き 
込まれて いる メモリです。 乂 68000 の テキスト 画 而 はビッ ト マップ 方式で あり, 一種の グラフ 
ィ ッ ク画 面です から, 任意の 文字 パターン を 表示で きます。 じ0^01\1 の 中には 8 X 8, 8 ズ16, 
12X12, 12X24 の ドット 構成の 英数字と, 16x16, 24X24 ドット 構成の 漢字の, 計 6 種類の 
文字 ノ ぐ ターンが 用意され ています。 




1^1.-001^ 



(:?リ 力 ^セッ ト直 後から 実行す る プログラム を 書き込んで おく 尺 〇]V [です。 乂 68000 では 
空き 番地に @ 的な 入出力 サブルーチン (ぬじョ) など 力 5 ' 収められ ています。 ぉ出ル— 68 X の 
初期の パージ ョ ン では, この 尺 01^ 内の 10じ5 を 利 川 してい ま した 力 5 ', 難 は 内容 を よ り; ぁ楝 
した 10じ3〗 など を!^] V [上に 読み込んで', そちら を 使うよう になった ため, I? し -尺 01^ は 
周辺 テン く - ィ スの 基本的な 初期設定 と? や 90 からの 起動 処理 程度に しか 使われて レ 、 ません。 



閥 八 



(^リ を 介さずに データ 転送 を 行う 。顯 は, ^(/^^でなお 

^する のが 難し I 、高速な デー タ 転送 や, (^リ の 処理 動作と は | 
独立した データ 転送 処理 をサ ポー 卜します。 ここ では, 。 陽 
の 取 り 扱し '^つ I , て 説明し ま す。 




概要 



!)]^/ [八 ダイレクト メモリ アクセス コントローラ) は, メモリ や 1/0 の データ 転送 を, じ?!! 
になり かわって 行う 1じ です。 じ? II を 介さずに 直接 (ダイ レク トに) データ 串 云 送 を 行う ことか 
ら, このような 名前 力 5 ' ついています。 通常, じ? II に は 外部からの 要求 信号に よって 現在 実行中 
の 動作 をき りの よいと ころで 中断し 制御して いた 線 (バス) をす ベて 電気 的に 切り離し, 要 
求した デバイスに バス を 解放す る 機能が あります。 もちろん, 要求 を 取り下げれば, (:?リ は屮 
断して いた 動作 を 再開 します。 0]V [八 じ は, この 機能 を 利用 して データの 転送 を じ?リ の プロ グ 
ラム 実行に 景遵を 与えずに 行います (もちろん データの 転送 元, 転送先, 転送す る 量な ど は, 
あらかじめ に 設定 してお く 必要が あ ります)。 

26 ぺー ジの図 1 に 0]V [八 じ による 1/0 から メモ リ への デー タ 串 云 送 動作の 例 を 示 します。 1/0 
から データの 転送 要求が 発生す る と, 1)1^^0 は じ?リ に バスの 解放 要求 を 行い, データの 転送 
を 実行した 後, バス 解放 要求 を 取り下げる という 動作 を 行います。 この 動作 は 純粋に ハー ドウ 
エア 的に 行わ;^ じ? リカ 《バス を 取られる 分 だけ, プログラムの 実行 速度が 落ちる 以外 はソフ ト 
ゥ ヱ ァの麵 乍に は 1 可の!^ も 与え ません。 



25 



參図 …… 1 0〜ム0 の 動作 概要 



(^じ 


ノな 解放 要求 


(卿) 
暖 


③ 

バス 解放^! 寸 





メモリ 




転送 要求 



バス 獲得 



1/0 



⑦ 

バス 解放 要求 





取り 下け 






⑧ 

取 1 ^け' 受付 


匪 (ま 
コントローラ 







要求 応答 




転送 実行 

(テヒ アルア ドレス モ— ド時) 
0/0^ メモリ 転送) 



八 (: の 動作 は, アプリケーションが 気づかない ところで データ 転送 力 《 行われる という 点 

だけ を 見る と, 割り込み による データ ホ 云 送と 似て いますが, ソフトウェア による 転送で は (:?じ 

力 化' のデノ く イスから の 割 り 込みで あ る かの 判定 や レジスタ の 侍^ 復帰な ど の 処理 をす る 時間 

がか かるのに 衬 して, 0]V [八 による 転送で は 要求が 発生 した 時点で じ? じ 力;' バス を 使って いて 
も, その サイクル 力 3 ' 終了した ところで, すぐに 転送 カ憫始 される ため, 要求 発生から 実際の 転 
送が 開始され る までの 時 |;!1 は 01^ 八の ほう 力 5 ' 圧倒的に 短く, 高速の データ 転送が 可能です。 
X 68000 では, 高速な データ 転送 を 要求され る 0, 1- 1ひ 八!)? 0\4 に 八 を 利) II してい 

ます。 



26 



[^八 



2 



01^/1 八 の チャンネル 
割り付け 



図 2 に X 68000 の 八 (: の チヤ ン ネルの 割 り 付け を 示 します。 X 68000 で 採用 さ れた 
0]V [八 (: 〈 只 ^^ョ斗ョ。) は 4 つの チャンネル を 持って おり, このうち チャンネル #0, #1, #3 の 
3 つが それぞれ ?:), ョ0, 八 0?0\4 に 割り付けられ ています。 残る チャンネル #2 は 使用され 
て おらず, 0^1 八 転送 要求 信号), 八 じ X (応^^ 言 号), ? じし (汎用 入力信号) など は拡 
張 スロッ ト に 線され ています。 この チャンネル は メモリー メモリ 間 転送 や 拡張 ボー ドで' 利附 
する ことができます。 



2 X 68000 の 0171^0 チャネル 割り付け 

圆 八。 (!" !:^ョ。) 



チ 
ネ 


卿0 - 
舰 - 


ル 



お し 國 


チ 




ネ 
ル 

1 


^1 
八00 
?じ し 1 






ネ 
ル 


ぼ 02 
^2 




「。し 2 


チ 




ネ 
ル 

3 


鄉 3 
?0 し 3 

謹 5 
070 



: 外部 垂直 同期信号 
-ズを 行 - 



—(つねに 41 ほ れ) 



フロッピーディスク 
コントローラ 



、なければ つねに し 。脚) 



、一ド ディスク 

3 ント ローラ 



拡張 ス 口 ッ ト 



制御 ロジック 



; 全 チャンネルと も デュアル ァ 
お チャンネル^ 0, #1, #3 は 
け チャンネル #2 はコ 



モ一 ドで 使用す る 
: 送 要求、 サイクル スチール モ一 ドに I 殳定す る - 
—メモリ 転送に も 利用 可) 



27 




八 の レジスタ 一覧 



図 3 に X 68000 に 採用され た ひ!^/ [八 (; 110 63450 の 持つ レジスタ 一覧 を 示します。 

各 チヤ ン ネル ごとに 17 個 ((^^ は 0IV [八 じ ^[本に 関係す る 設定 を 行う ものな ので, チャン 
ネル #3 用の 空間で ある 32 840 だけに あり ます) の レジスタが あ り ます。 これらの レジスタ 
のうち, じ2 尺 は リ ード オンリー (読み出 しのみ) です が, それ 以外の レ ジス タ はすべ て リ 一 ド ノ 
ライ ト と も 可能と なって います。 

これらの レジスタ のうち, 転送 元 や!! 云 送 先の ァ ドレス 指定に 使用され るの が] VI 八!? と 八^ 
転送 オペラ ン ド数を 指定す るの が です。 メ モ リ 一 1/0 間の 転送 を 行う 場合に はメ モリア 
ド レス を IV! 八!? で, 1/0 アドレス を 0^1? で 指定 します。 

また, 6 八!? と 8丁じ は 複数 プロ ッ クの标 送 機能 を 利用す る ときに 使用され ます。 その他の レ 
ジス タ について は 後で' 説明 します。 




01\^ 八 の 動作 モード 



ョ 63450 は 多 く の 動作 モ ードを 持って います。 1 オペランド (転送 元 か ら 転送先への 1 回 
分) のデー タ の 流し 方で 2 通 り , 転送 要求の 発生 方^ 3 —度 バス を 持った ら 一気に 転送す る か, 
1 回 ごとに じ? II にノ ぺスを 返す かとい つた 1 ブロ ッ ク 分の 転送の モー ド で 8 通 り , 不連続な ァ 
ド レスへの 転送 をサ ポー 卜する 複数 ブロ ックの 転送 機能で 3 通りの!^ お モー ドがぁ り ます。 

乂 68000 では #0, 1, 3 の 各 チャンネル は 用途 カや决 まって おり, 設定 内容 も 一部 は 固定と なつ 
ています が, チャンネル #2 はさま ざまな!^ 乍 モード カ^! ベる ようになって いますので, ここで 
も 一通 り すべて の 8 力作 モ ードを 説明して おく ことにします。 

なお, 01 八 (: による 転送 は メモリ— 1/0, 1/0 ― メモリ, メモリ" ^ メモリ, 1/0 ― 1/0 の 
4 通り 力 5 ' 考えられます 力、 話 をかん たんにす るた め, ここで は 1/0— メモリの 転送 動作で 説明 
する ことにします。 



28 



0^ 



3 ロ!^ムじ レジスタ 一覧 



5^84040 



3^84080 



5^84000 



お 840ド已 



チャンネル 弁 




チャンネル # 1 




チャンネル # 2 




チャンネル # 3 





05^ 

0^ 

00^ 

00^ 

50^ 

001^ 

V 丁 〇 

隱 

圆 

8 丁 (: 

圆 

請 

曰 V 

01^0 
ほ 



チャンネル ステータス レジスタ 
チャンネル エラ一 レジスタ 
デバイス コント ロール レジスタ 
才 ペレ一 シ ヨン コント ロール レジスタ \ 
シーケンス コン ト ロール レジスタ 
チャンネル コ ン トロール レジスタ 
メモリ トランスファ カウンタ 
メモ リア ドレス レジスタ 
デバイス ァ ドレス レジスタ 
ベース トランスファ カウンタ 
ベース ァ ドレス レジスタ 
ノ一 マル インタラプト ベクタ 
エラ一 インタラプト ベクタ 
メモリ ファンクション コ一 ド 
チャンネル プライオリティ レジス 夕 
デハ' イス ファンクション コード 
ベース ファンクション コー ド 
ジェネラル コン ト ロール レジスタ 



32 





8 八 6 



肝 



0^^ 




水 6〇ほ は チャンネル #3 にの みある 



00^ 



00^ 





29 



1 



1 オペランド 分の 転送 モ-ド 



01\4^0 の 動作 を 転送 ノ くス 上の デー タ の 流れで 見 ると, データ をい つたん 131^ [八 じ 内部 に 取 
リ 込み, 次に じ から 書き込み 動作 を 行う デュアル ァ ドレス モー ド と, 01^^.0 は メモ リア 
ドレス を 発生 し, デー タ は!! 接 1/0 から メモリ に 流 してし まう シン ダルア ド レス モー ド に 分類 
でき ます。 それぞれの 動作 を 図 4 と 図 5 に 示します。 



(図 …… 4 デュアル アドレス モード 〈1/0— メモリ 転送) (メモリ— メモリ) 



テ パイス アドレス 



1^8 11 メモリ アドレス I 



1^10 転送 カウン ト値 




データ 読み出し 



。/^ | ^ テン 1 ;' イス アドレス 
IV! ^ 厂 メモリ 7 "ドレ ス ^ 
^11X1^ 云 送 カウン ト値 



なし 



1/0 



メモリ 



データ 書き込み 



圆 


ァ ドし 


一 ス 更新 




陽 叫 


アドし 


'ス 更新 




^70 1 


V 丁 〇 く 





レジスタ 更新 



30 



01^/1 八 



肇図 …… 5 シングル アドレス モード (!/。— メモリ) 




^ '一夕 転送 









圓! ~~ 〜 — — 1 






ァ ドレス 更新 1 






IV! 丁。 | V 丁 一! VI 丁 じ— 1 I 










レジスタ 更新 



:0 八 8 は 使用され な、 



デュアル ァ ドレス モー ドの 場合, 01\1^0 は じ? リ による アクセスと 同じように アドレス を 
-' び. え て 1/0 か ら デー タ を I 売み! [え り, メモリへ 書き込み を 行います。 1/0 の アドレスと メモリの 
アドレス, 転送 回数 は それぞれ 八 II (デバイス アドレス レジスタ), 1\4 八& (メモリ アドレス 
レジスタ), IV [丁 (: 〈 メモリ トランスファ カウンタ) で 寸旨定 します。 1/0 アドレスと メモリ アド 
レスの 2 つの ァ ドレス を [リ いるた め, この 動作 を デュアル ァ ドレス モー ドと 呼んで います。 1 
回の 転送が 終わった 後, 八!?, を 変更 (増加/減少) する ように 設定され ていれば, I ': I 

動的に 内容の 更新 力 3 ' 行われます。 !^丁じ は, 1 回の 転送が 終わる たびに 1 ずつ 減らされ ていき, 
になる と耘送 動作 は 終了し ます。 

デュ アルア ドレス モード は, 周辺の' 、一 ドウ エアから 見れば, 0?0 による アクセス となんら 
変わ り ません ので, 1/0 と メモ リ の 問 だけで はな く, メモリー メモリ 問 や 1/0—1/0 間の 転送 
も 可能です。 

シングル アドレス モードの 場合, ひ^^じ は メモリ アドレス しか 発生せ ず, 1/0 に対して は 
八 (:に 信号で デー タ 出力 を 要請 します。 1/0 と メモリ は 同 じデー タ バス につな がって います か 
ら, この データ は そのまま メモリに も 届きます。 データ を 1/0 力、', アドレスと 書き込み 制御 を 
01^^: 力 5 ' 分担す る ことで, 1 回の バス 助 作で データ-転送 力 5 終了す るた め, デュアル ァ ドレス モ 



31 



ード より も 高速の データ 転送が 可能です。 

ただ, シングル ァ ドレス モー ドは, 1/0 が 8 ビッ ト 幅で メモリが 16 ビッ I、 幅と いう よ う に, 
ビッ ト 幅が 異なる ときには, 八 転送のと き だけ, 偶数 番地 は データ バスの 上位 8 ビッ トを, 
奇数 番地 は 下位 8 ビッ ト を利坩 する よ う な 細工が 必要になる ため, ハー ドウ ヱァが やや 複雑に 
なり ます (デュアル ァ ドレス モー ドの ときには, このよう な処 II は 01\4 八 (: 力 《行って く れ ます)。 
また, シングル アドレス モードで は, その 原 3!±, メモリ一 メモリ 転送 は 行えません。 

X 68000 では, 各 チャンネルと も デュアル ァ ドレス モー ドを 利用す るよう になって います。 



2 1 プロック 分の 転送 モード 



110 63450 の 転送 モ 一 ドを図 6 に 示します。 

1 プロ ッ ク 分の 転送 モー ドは, 要求の 発生 源に 注目す る と, 転送 要求 力 ^ 毎回 外部から 与え ら 
れる 外部 要求 転送 モ ード, 0皿 八 じ 内部で 自 動的に 転送 要求 を 発生す る オート リクエスト モー 
ド, 最初の オペラ ン ド だけ はォー ト リ ク エス 卜で, 以後 は 外部 要求 転送で 動作す る モー ドの 3 
811 に 分類で きます。 さらに, これら を バスの 使い方で 分類す る ことで 計 8ネ廳 の 転送 モー ド 
に 分類され ます。 



き 図 …… 6 1 ブロック 分の 転送 モード 



転送 モ一 ド 


動作の 概要 


外部 要求 転送 


ホールド なし サイクル スチール モ一 ド 


要求 をェ ッジで 検出す る 

転送 後, 次の 要求がなければ バス を 放す 


ホール ド付 きサ イク ルス チ一 ルモ一 ド 


要求 をェ ッジで 検出す る 

転送 後 一定期間 バス を 持つ たま ま 次の 要求 

を 待つ 


バース トモ 一 ド 


要求 を レベルで 検出す る 

^り 力、' し 0ゅ に な つてい る 間 連続 し て 転送 

する 


オート リクエスト 


取 大^: 度 


バス を 持った まま, 最後 ま で 転送す る 


限定 速度 


(^(^ で 規定され る 比率で 定期的に バス を 解 
放す る 


才一 ト リク エス ト 十 外部 転送 要求 


転送 スター ト数, 1 語 目の 転送 は才一 ト リ ク 
ェ スト。 2 語 目 以降 は 外部 要求 転送 



0171 八 



01 



外部 要求 転送 モード 



外部 要求 転送 モー ドは, さ らに ホール ドな し サイ クルス チール モー ド, ホール ド 付き サイ ク 

ルス チール モード, バースト モードに 分類され ます。 それぞれの 動作 タイミングの 概略 を 図 7 
に 示します。 

ホールド なし サイ クルス チール モー ド はもつ とも 一般的な 転送 モー ドで, X 68000 でも, 
? ; !!ひ 八:)? ^]V [のどれ も, この モードで 利用し ます。 尺20 (転送 要求) 信号 を 立ち 下が 
り ェ ッ ジ (信号の 冗 8 ヒ か ら し 吸 への 変 イ^ で とらえ, 転 避 冬 了 時に 次の 要求が 発生 していな 
ければ す ぐ に じ? じ に バス を 返します。 



き 図 -.… 7 外部 転送 要求 モードに よる ^動作 

卿 




バス 動作 ― "作 12 ^舰 転迗/ ^^乍 —車 ぽノ 0^8^ 

〈 ム 〉 ホールドな し サイ クルス チール モー ド 




。? リ動作 



51^^22X51 

51: サンプリング インターバル 〈 2 87+811+5 クロック) 
〈 8 〉 ホール ド 付 き サイ クルス チ一ル モー ド 



网 \ ^^^^^—― ^ ― ― 
バス 動作-^ -リ- 動-作 ^0柳 転, 陽転 送)^)!^ 転送〉 



(じ) バース トモ 一 ド 



33 



ホール ド 付きの 場合に は, 転送 か 終了 しても すぐに は じ? リ に バス を 戻さず, 次の 要求が こな 
いかどう 力、 しばら く^を 見ます。^ を 見て いる 問に 次の 要求が くれば, ホールド なしの 

場合の ように ふたたび じ?1! と バスの 交換 をす る 手間が かからない 分 だけ 効率が よ く なり ます 
が, こ ない 場合に はた だよ けいな 時間が かかる だけにな つて しまいます。 

バースト モード は, 1^2(3 信号 を レベルで 判定し, 1^2(3 信号が し 0〜 になって いる 問, 連続 
して 幸 云 送 を 行います。 要求が 発生したら, 転送 サイ ズ分 だけ 一気に 取り込む よ う な 用途に 適し 
た モー ド です。 



02 



オート リクエスト モード 



ォー ト リ クェ スト モー ド では, !)!^^。 内部の レジスタの 転送 スター ト ビッ ト を じ?1! が 1 
にす る こと で 転送が 開始 されます。 I 云 送 要求 を 自 分 自 身で 発生 させる ため, この モード をォー 
ト (自動) リ ク エス トモ 一 ド と 呼んで います。 ォー ト リ クェ スト モー ドには 最大 速度と 限定 速 
度の 2 禾 II 頁の 動作 モ 一 ドがぁ り ま す。 それぞれの 腐お タ ィ ミン グの 概略 を 図 8 に 示 します。 

^速度の 場合に は, いったん 転送 力 5 ' 開始され る と, 転送 力 5 終了す るまで (:?ひ に バス を 返し 
ません。 データ 転^! 度 は 速くなります が, 大 の データ を 最大 速度で 転送す ると, 長時間 
じ? II 力 16 力け な くな つてし まう という 問題が あ り ま す。 

これと 対照的な のが 限定 速度 モー ド です。 限定 速度の 場合に は 01^^ [八 じ は 定期的に バス を 



き 図 …… 8 オート リクエスト モードに よる ム 動作 

ひ'^ 嫌 転送) ("隱 転^)^ 赠云 送) (隱 転送) (測 八 転送〉 

〔^0 最大 速度 

~ ~ 7 ^ 01^1 八 車 云 送 X 0^1 ム車云 送^ 一, ^ 01^1^1^ X 01^1 八 車 云 送 

I: ドリ 動作 ヽ ^ ^ ^ /\ ^ ^ ^ I 01 3 リ 動作 ヽ ^\ ノ 

I み I 



六 : オート リクエスト インタ一 バル ひ 81+4 クロック) 

8 : サンプリング インターバル ひ 81+811+5 クロック) 

(曰) 限定 速度 



34 



01^1 八 



0?11 に 返し, バスの 使用 率が あらかじめ 設定され た 値になる よ う に 調整しながら 動作し ます。 
限定 速度での 転錢度 は 当然 最大 速度よ り は 劣 り ますが, 0?11 力 5 ' 動作しながら 転送 動作が 行 
える ため, システム^ 本と して は 都合の よい こと も 多く あり ます。 



3 複数 プロックの 転送 モード 



通常, 01\1 八 転送 は, コントローラに 設定した 分 ひ ブロック 分) の 転送 を 実行す ると 動作 を 
終了 し, 0?11 力 3 ' 次の 設定 を 行う ま で 動作 を 停- 1 ヒ した ままに なって います。 複数 プロ ッ ク の 転送 
力 5 ' 必要な 場合に は, 0?0 が 0]V [八 じ からの 割 り 込み や 動作 ス テータ ス によ つて 転: ^了 を検 
出 し, 新い 、転送 ァ ドレスな ど を 設定す る 手間が かか ります。 01\4 八 転送 はこの 間 止 まって し 
まいます から, 複数 ブロックへの 転送が 発生す る ことがあら かじめ わかって いる ときには, こ 
れ はまった く 無駄な 時間になります。 X 68000 の!)] V [八 (; 8063450 は, このような 問題に 対 
】 おして 複数の ブロック を 連続して 転送す る 機能 を サポートし ています。 ただし, この 機能で は 
次々 に 設定で き るの は IV [^尺 と 1\4丁じ だけで', 八な は 初期設定の まま 全 転送 か 終了す るまで 
変更で きません (ィ ンク リメ ン 卜/ デク リメ ン トカ 吋旨定 されて いれば, 全 車 云 送が 終了す るまで ィ 
ンク リメ ント ノ デク リメ ント しつづけます)。 

9063450 の 複数 プロ ッ ク 転送 機能 は, 継 力作, アレイ チヱ イン, リンク アレイ チヱ インの 
3 觀 があります。 次に, これらの 機能 を 兄て いきましょう。 



01 



継続 動作 モード 



維 続 動作 モー ドは, 0^0 カ绵云 送 を 実行して いる 間に, 次の メモリ ァ ドレス, 転送 カウンタ, 
ファンクション コード を 8 八^ 8 丁 じ, 5?0 レジスタ に 設定す る 雄です。 01\^ [八 じ は, 1 ブ 
ロック 分の 転送 か 終了す ると, 書き込まれた 内容 を] \1八 尺, !^丁じ, !^?じ に 取り込み, すぐに 
次の 転送 を 開始 します。 こ の 時点で じ? リ は, 次の ァ ドレス や カウント 値 を 設定す る ことができ 
るよう になり ます。 



02 



アレイ チェイン モード, リンク アレイ チェイン モード 



アレイ チェイン モードと リンク アレイ チ エイ ン モー ドは, メモ リア ドレスと 転送 カウンタの 
データ を 示す テーブル (転送 情報 テーブル) を メモリ 上に 川 意して おき, この 先頭 アドレス を 



只 し テソ 、'ィ スァ ドレス 

(毎回 テ —ブルから 口 -卜 'される!"! 
リ 丁 。 1 (毎回 テ- ブルから 口— ド される)"! 

8 八 尺 I テーブル 先頭 アドレス 」 一 
870(7 ~ 1 



3 八^ に 設定して お く と, 0]V [八。 自体 カズ 次々 に 読み取って 複数 ブロ ッ ク のま 云 送 をれ-つ モ一 ドで 
す。 &较 動作 モードで' は, あく まで も 1 ブロック 分の 転 凝 冬 了 ごとに (:?じ による 再 設定が 必要 
なのに 対し, アレイ チェイン モードと リンク アレイ チヱ イン モードの 両モ一 ドは, より イン テ 
リ ジヱン 卜な 動作 モードで あると いえます。 
アレイ チェインと リンク アレイ チヱ インの 大き な 違い は, 転送 プロ ッ ク 情報 テーブルの 構造 

と!^! 冬 了 ^(牛に あり ます。 各 モードの 奉 云 送 情報 テ一 ブルの 構造 を 図 9 に 示します。 
鲁図 …… 9 アレイ チェインと リンク アレイ チェイン モー ドの 転送 情報 テーブル 

0朋 し デバイス ァ ドレス | 
IV!; ^し (毎回 テ— ブルから 口一 ド される) I 
"丁 (: し 〈 毎回 テ— ブルから 口一 ド される 】 | 
8^^ I テ一— ブル— 先頭 ァ ド^ |~ 
8 丁。 「 車 云 送 ブロック^ ~ 1 

(メモリ) 

アレイ チ I イン 



- 十 500 
十502 ^ 
十 504 
十 ま 06 
十 308 
十 30 八 
十 做 
十 5。 に 
+ 510 



メモリ アドレス #1 



転送 語数 #1 



メモリ アドレス #2 



転送 語数 #2 



メモリ アドレス #3 一 



転送 語数 #3 



1ブ 口 ック 

分の 転送 



# 8 丁 (; は 使用され なし 



十 500 
4-^02 
十 504 
十 506 
十 ホ 08 



メモリ アドレス #2 



転送 語数 #2 



リンク アドレス #2 



關 



十 ま 00 ^ 
十 502 
十 ま04 
4-506 
十 508 



メモリ アドレス 林 3 
転送 語数お 
,0 '(終了 マーク) 

(メモリ) 



一 メモリ アドレス #1 



転送 語数 #1 



1 フロック 
ト 分の 転送 
—夕 



リンク アドレス #1 




リンク アレイ チェイン 



01\^ 八 



アレイ チェイン モー ド では, 各耘送 情報が 連続した ァ ドレスに 配置さ^ 01^^ [八 (: の 8 丁 (: で 
転送す る ブロックの 数 (転送 情報 テーブルの 数) を 指定し ます。 1 ブロック 分の 転送 か 終了す 
る ごとに 8 丁 (: の 値 は 減らされ ていき, になる と!^ 1^ 冬 了と なり ます。 

リンク アレイ チ ヱイ ン モー ド では, 1 ブロ ック 分の 転送 情報 テーブルの 後に 次の 転送 情報 テ 
一 ブルの アドレス (リンク アドレス) 力 2 書 き 込まれて います。 0]V [八 (: は, この リンク アドレス 
をた どって 次の 転送 情報 を 得る わけです。 リンク ァ ドレスが になって いると, 転送 を 終了 し 
ます。 このため, リ ンク アレイ チ エイ ン モー ド では 8 丁 じ は 使用され ません。 リ ンク アレイ チェ 
ィ ン モー ドは, アレイ チヱ イン モー ド のよう に!! 云 送 情報 テーブル を 連続した ァ ドレスに 配置す 
る 必要が な く , 自 由 度カ堪 い モードで あると いえます。 

アレイ チ エイ ン モー ドと リンク アレイ チェイン モー ドの 違い を 図 10 に まとめて おき ま した 
ので 参考に してく ださい。 

參図 …… 10 アレイ チェイン モードと リンク アレイ チェイン モー ドの 比較 



\ ^モ-ド 


アレイ 

チェイン モード 


リンク アレイ 
チェイン モード 


8^?? の 内容 


転送 情報 テー 
ブルの 先頭 ァ 
ドレス 


同 左 


8 丁。 の 内容 


転送 プロ ック 
の 数 


〔使用され ない〕 


転送 情報 テー 
ブルの 内容 


転送 ァ ドレス 
転送 語数 


転送 ァ ドレス 
転送 語数 
リンク アドレス 


転送 終了 条件 


8 丁 0=0 


リンク アドレス 
^0 



0ロ 八 0: の レジスタの 内容 



01\1^0 5 111) 63450 は 多くの レジスタ を 持って いますが, 設定 そのもの は それほど むずかし 
いものではありません。 ここで は:)] V [八 (: の 持つ 各 レジスタの 内容に ついて 説明し, 具^! 勺な 
設定お まに ついて 解説して いくこと にしましょう。 

なお, 説明 や レジスタの ビット 配置 は, 乂 68000 の 曲バ で' 見る ときに 都合の よいよう に, 
別々 の レジスタで あっても, 1 ヮー ド 単位で 読み出す こ とがで きる ものに ついては ヮー ド 単位 




で 扱って います。 これらの レジスタ は 読み出 し を 行う とき はヮー ド 単位で も かまい ません が, 

書き込み はヮー ド 単位で 行えない もの も あり ます。 たとえば, 001^ レジスタの 5 丁 尺 ビッ 卜な 
ど は, ヮー ド アクセスで' 1 'を セッ ト しょうと すると, —1 力作 タイ ミ ング エラーに なって しまい ま 
す。 と く に 意味の ないかぎ り, 各 レジスタ ごとに アクセスす るよう にした ほうがよ いでし よ う。 



@ 1 〇3^, 已^ 



051? (チャンネル ステータス レジスタ) と 05 尺 (チャンネル エラー レジスタ) のビッ ト 配置 
を 図 11 に 示します。 

は チャンネルの 8 力 犬 態 や? じし ライ ン ステータス を 示す もので, は なんらかの 
ェ ラ 一が 発生した と き にェ ラー 内容の 詳細 を 示す ために 使 川 されます。 

のうち 八 (: 丁と? じ 5 以外の ビット は, いったん' 1 'になる と, その ビット を' 1 'に 
した データ を 書き込む か, リ セ ッ ト がか かる まで 丁の まま にな ります。 とくに (:ひじ, 31:0 1 
卩0 丁, 5^1^, ^07 ビッ ト 力、'' 1 'になって いる ときには 次の 転送 動作 を 行う こ とがで き ません 
(動作 タ ィ ミ ング エラーになる) ので, 使用 前に チェ ッ ク して クリ ァ する ようにし てく ださい。 



01 



000 (チャンネル オペレーション コンプリート) 



000 ビッ ト は チャンネルの 8 力 (乍が'^" 了 したと き に 丫 にな り ます。 -再度, その チャンネル を 
使用す る ときには (:ひじ ビット をク リア ('(('にす る) してお かなければ なりません。 ク リアせ 
ずに 次の 転送 を 開始しょう とすると, 動作 タイ ミ ング エラーに なり ます。 



02 



6X0 (プロック トランスファ コンプリート) 



8 丁 (: 〈 ブロック トランスファ カウンタ) レジスタと 名称が 同じな ので, 混同し ないように 気 
をつ けて く ださい。 本書で は, たんに 8丁じ と した 場合に は 8丁じ レジスタ を 指 し, じ 5 尺 の 
8丁じ ビッ トの 場合に は ,8丁じ ビッ ト' と 表記す る ことにします。 

8 丁 (: ビット は | も 镜 動作 を 行って いると き ((^ ^の じ〜 丁 ビット を 1 'にして いると き) に 
1^X0 が になる と セット さ れ ます。 つまり, III! 動作 モ 一ド のとき に 1 ブロ ッ ク 分の デー タ が 
転送 し 終わった こ と を 示す のが 8 丁 じ ビットと いう わけです。 

810 ビッ ト も, 再度 (:! ^丁 ビット を 丁 に して I あ 続 動作 を 再開させる 前に ク リ ァ してお かな 



38 



0^/1 八 

會図 …… 11 じ5^ : チャンネル ステータス レジスタ じ 巳卩: チャンネル エラ— レジスタ (十 

(チャンネル ステータス レジスタ) , び (チャンネル エラ 一レジスタ) ,| 



51115 8 7 5 4 お 



000 


8 丁 


隱 


巳^ 


八。 丁 


017 


ド 。丁 


?05 


'。, 


已^^ 08 000^ 



00000 


エラ一 なし 


00001 


コ ンフィ グレー シ ヨン エラー 


00010 


動作 タイミング エラ一 


00011 


(未使用) 


0011-1- 


ァ ドレス エラ一 


010「「 


バス エラ一 


011「「 


カウン ト エラ一 


10000 


外部 強制 停止 


10001 


ソフト ゥ I ァ 強制 停止 



^10 

- "^ライン ステータス 
0: ^0 し 二 "しひが" 
は し 二 "^に 



メモリ アドレス/メモリ カウンタ 
デバイス ァ ドレス 

—ス カウンタ 



ぼし 卜」 

0: 卩0 しの 立ち 下 力 《り (闩も!"!" 1 "し 。が, 



, の 変化) はない 

が 発生した 



001 ^巳 入力 トラ ンジ ッシ ヨン 
0: 001^ 入力 はない 

1 : 008 の 8 丁 ビッ 卜が' 1 'のとき に 00リ 已 入力 かあつた 



チャンネル アクティブ 
0: チャンネル 非 アクティブ 
1 : チャンネル アクティブ (動作 中) 

エラ一 ビッ ト 

0: エラ一 なし ― 
1 ; エラ一 発生 (巳 1^0ド 000 にビッ 卜に エラ一 内容 か 入な ノ 

ノ 一マル デバ ィ スター ミネ一 シ ヨン 
0: 001^ 信号に よる デバ ィ ス 停止で はない 
1 : 00リ 已 信号に よる 正常な デ バイ ス 停止 

ブロック トランスファ コンプリート 
0: プロ ック 転送 未完 了 
1 : ブロ ック車 云 送 完了 

― チャンネル オペ レ―シ ヨン コンプリート 
0: チャンネル 動作 未完 了 
1: チャンネル 動作 完了 



39 



いと, 動作 タイミング エラーになります。 



03 



丁 (ノーマル デバイス ター ミネ ーシ ヨン) 



110 63450 に は, 0]V [八 要求 を 行った 1/0 デバ ィ スが全 データの 転送 を 終了 した こ と を 示す 
ために, 001^2 信号 ピン 力 《用意され ています。 葡丁 ビッ トは, この 信号に よって 。!^/ [八 転送 
カ絲冬 了 した こと を 示す 信号です。 

リ 丁 ビット も, 再度 0^1 八 車 云 送 を 行う 前に ク リアして おかないと, 動 ザ, タイミング エラー 
になり ます。 



04 [^^(エラ一) 



なんらかの エラー 力 《発生す ると' 1 'になります。 このと き, エラーの 内容が じ2尺 レジスタに 
セッ ト されて います。 

2^ ビッ ト も, 次の 転送 を 行う 前に ク リアして おかないと, 動作 タイ ミ ンダ エラーに なり ま 

す。 



05 八 丁 (チャンネル アクティブ) 

八 (:丁 ビッ トは チャンネル か!^ お 中で ある こと を 示す ビッ 卜です。 (:じ 尺の 5 下 尺 (スタート) 
ビッ 卜が セッ トされ 耘送 動作が 開始す ると 丁 になり, 転送 か 終了す ると ,0, になります。 
000 ビッ ト と 似て います 力、 000 ビッ 卜が たんに チャンネル 動作の 終了 を 表す だけで あ り, 
ソフトウェアで' 'にク リアされ るのに 対し, 八 (: 丁 ビッ トは チャンネルの 動作 中 だけ 1 'にな 
ると いう 点 力 3 ' 異なり ます。 



06 



01 丁 ([^^ [入 カトラン ジッシ ヨン) 



00X2 付きの 複数 ブロック 転送 モー ドカ (選択され たと き (0^I^ の 8X0 ビッ 卜が ': I, に設 
定 する), 001^2 入力に よる ブロ ッ ク の 幸 云 送の 中断 か 起こ ると ,1 'になります。 



40 



01^ 



07 



? 丁 (ドじ しト ラン ジッシ ヨン) 



30 63450 に は 各 チャンネル ごとに'; 凡 用の 入出力 ラインと して ? じし ピンが 用意され てい ま 
す (この ピンの 機能 は 00? の? (:し ビッ トゃ IX: 尺の!) 丁 V? ビッ トで 決められます)。 ? 07 
ビッ トは, この 信号 ピンが どのように プログラムされ ている かに 関係な く, 11も ヒ からし 〜へ 
の変ィ 匕が あると 1 'に セッ ト されます。 

X 68000 では, チャンネル # の ? (: し に 外部 ビデオ 信号の 垂直 同期信号 力 5 ; チャンネル # 3 
の ? (:し に は 八 0?1:1^ の 01^ 八 要求 信号 か 接続され て います。 



08 



^05 (卩 し ライン ステータス) 



? 05 ビッ ト は ? じ 乙 ピンの 状態が そのまま 読み出されます。 ? じし ピン 力、' どのよう に プロ グ 
ラムされ ている かに は 関係ありません。 ? (:乙 ピンが 8!8 ヒ なら 丁' し がなら ば' 'になり ま 
す。 



09 



巳朋08 000 曰 



じ 5 尺の 2^1? ビッ トカ^: ッ ト された とき, (:^: 尺に は エラーの 内容 を 示す データが 入ります。 
それぞれの エラー ステータスと, 発生す る 要因 を 次に 示します。 



丄) コ ンフィ グレー シ ョ ン エラー 

, チェイン モード 1待 に (:リ 丁 〈 &続自 蹄) ビ ッ ト がセ ッ ト さ れた と き 

, シングル ァ ドレス モー ド (。(: ^の:) 丁 V? ビッ トで 指定) 時に デバ ィ ス ポート サイ ズ 

(。(: 尺 の 0?5 ビ ッ ト て" 指定) と オペラ ン ド サイ ズ 〈〇 じ & の 3122 ビ ッ ト で 指定) 力 5 ' —致 

していない 場合 

. デュアル アドレス モードで 外部 転送 要求 ((^: 尺の!^: 00 ビット ニ'10 'または' 11リ のと 

き, デバイス ポート サイズ を 16 ビット, オペランド サイズ を 8 ビットに 設定した とき 
~ 00^ 00^ 3じ 尺の 各ビッ トに 未定義の 値 をセッ ト した 場合 

, デュアル アドレス モード で や 、'イス ポート サイ ズが 8 ビットの とき 以外に, 0011 の 3122 
ビッ 卜に ':! !' を 設定した 場合 



41 



2〉 動作 タイ ミ ング エラー 

'チェイン モードで 5 丁 I 《ビット ((:じ尺 レジスタ) と 八 (: 丁 ビット に 5尺 レジスタ) の両 

方と もセッ ト されて いないと きに (:!^ 丁ビッ トを セット した 場合 
^ じ5尺 巾の じ01:, 8 丁 (:, 1^0 丁, 2 尺!?, 八 じ丁 のい ずれ かの ビット 力い 1 'になって いると 

きに 5 丁 尺ビッ トを セット した 場合 
~ 5 丁 尺ビッ トか八 (: 丁ビッ トカ" 1 'になって いる (チャンネル 力 働 作 を 開始して いる) とき 

に 0じ尺, 00^ 50^ 00^ IV [八 尺, 八 只, IV! 丁 (:, 1\1?0 1 0?!: のい ずれ かに 書き込 

み を 行った 場合 

~ 8丁じ ビッ 卜と 八 (: 丁ピッ トカい 1 'になって いると きに (:^! 丁ビッ ト をセッ ト した 場-合 
3〉 アドレス エラー 

~ ヮー ドゃ ロング ヮー ド オペランドの | 云 送 を 奇数 番地から 行おう と した 場合 (実際に ァクセ 

ス が 行われた 15 き 点で ェ ラ 一が 発生す る 〕 
~ 01\4 八 バス サ ィ クルのと きに 0]V [八の じ3 ピン や I 八 (:に ピン を し 0^ に し た 場合 

〈X 68000 では ハー ドウ エアの 古划 章で もない かぎり, このような こと は 起こ り ません) 

4〉 バス エラー 

~ 01^ [八 力 《バス を 使用して いると きに バス エラーが 発生した 場合 
5〉 カウン ト エラー 

, チェイン モー ド 以外の ときに レ ジス タ に を 設定 し, 5 丁^ ビ ッ トを セットし たと 

き 〈0 バイ トの 転送 を 行おう としたと き) 
, アレイ チヱ イン モード モードで 13 丁 じ に を 設定した まま, 5 丁 尺ビッ ト をセッ ト した 場 

合 

, チヱ イン モード, コンテ ィ ニューモードの ときに メモリ (チェイン モード II せ) や 8 丁 (: (!! 
続 動作 モ 一 ド時) か ら 皿 丁 じ に が ロー ド さ れた と き 

6〉 強制 終了 

'?じ しが アボート 入力信号と して プログラムされ ており, 3 丁& ビッ トか 八 (: 丁 ビッ ト 力い 匸 
になって いると きに ァ ボー ト 信号 を 与えた とき 

?) ソフ トウ ヱァァ ボー ト 

~ 5 丁!? ビット か 八 (: 丁 ビットが' 1 'になって いると きに 0: 尺 レジスタの 3 八 8 (ソフト ゥ 
ヱァ アボート) ビットが セット された とき 



42 



0^ 



2 008,008 



001^ (テ' パ' イス コントロール レジスタ) と 0じ^ (オペレーション コントロール レジスタ) 
のビッ ト 配置 を 44 ページの 図 12 に 示します。 0じ^ は, I)IV [八 じ に 接続され る 1/0 デバ ィ ス 
の禾動 リ や ? 01. ピンの 機能 を 設定す るた めに, 0011 は [八 じ の 転送 モー ド を 設定す るた めに 
使用され ます。 



01 



(エクスターナル リクエスト モード) 



乂!^/! は 外部 要求 転送のと きの 車 云 送 モー ドを 設定す るのに 使用し ます。 この 設定 か 有効に な 
るの は, 0(3 尺 レジスタの 1^;00 ビッ 卜が' 10 'か' 11 'になって いると きです。 ト 川加 3 !! 68 I く 
では, チャンネル #0, 1, 3 とも' 10 '(ホールド なし サイクル スチール モード) で' 使片 1 してい ま 
す 



@2 



丁 丫卩 (デバイス タイプ) 



0^ 八 (: に 接続され ている 1/0 の アクセス ブガ 去 を 設定し ます。 設定 #: ,00, および ,0リ はデ 
ュ アルア ド レ ス モー ド, 10, と ,11, は シングル ァ ドレス モー ドの 動作に な り ます 。 

で0 'は 68000 の 信号 を そのまま 使った ような デバイス で' じ? リ でも リード/ライト できる よ 
うな ものに 適用し ます。 メモリ はこの タイフ。 に 分類され ます。 X 68000 の 場 介, 內部 1/0 もす 
ベて この タイプです から, 通常 は ,00, 以外 を 設定す る こと は あ り ません。 

で1 'の 6800 タイフ。 というの は, モトローラの 8 ビッ ト じ? II である 6800 用の 周辺 デバイス 
をつな いだと きに 設定す る モードです。 このと き, 01 八 じの? じし ライン は 6800 タイプの デ 
バイ スカ^! 力作 タ ィ ミン グを 取る ための 2 クロ ックの 入力 端子と して 動作す る よ う にな り ます 
(?じ乙 ビッ ト による 設定 は 無 4 見され ます)。 6800 ファミリー はかなり 古い デバイス という こと 
も あり, X 68000 ^の 拡張 ボー ド な どで' 使^ さ れる こ と はまず ない と 思われます。 

'川' と ,11 'はと もに シングル ァ ドレス モー ド です。 X 68000 では 基本的に シングル ァ ドレス 
モー ドのサ ポー ト はう たって いません から, 拡張 ボー ドで 使われる こと も まずない と 忍 われ ま 
す。 したがって, 以下の 説 ! リ 1 は 読み 飛ばしても かまいません。 

10, と 11, の 違い は, 1/0 デバイスと 八 (: との 間の 耘送 タイミングの 取り 方に ありま 
す。 -10- の ときには 0^^: から 1/0 に対して 八 信号 を 返す ことで 1/0 側 は データの 入 



譬図 …… 12 00?? : デバイス コン トロール レジスタ 001^: オペ レー ショ ン コント ロー ルレ 

ジス タ (十^吋) 

0^ (デバイス コント 口一 ル レジスタ) | 01^ (オペレーション コント ロール レジスタ ^ 
1^ ^1^ ^1 



乂柳 


丁丫ド 


0^5 


で' 


1^ し 


旧 


870 


312 已 


134 爛 


^00 




00: 才一ト リク エス 卜 限定 速度 
01: 才一ト リクエスト 最大 速度 
10: 外部 要求 転送 (^^ラインに よる) 
11: 最初の 転送 は 才一ト リク エス ト 
2 番目 以降 は 外部 要求 転送 



1 ^ チェ イニング オペレーション 
00: チェイン 動作な し 
01 、未使用) 
10: アレイ チェ イニング 
11: リ ンク アレイ チェ イニング 



オペ ラン ド サイズ 
00: バイ ト (; 8 610 
01: ヮ一 ド (勒け) 
10: ロング ヮー ド 021)10 
11: パックな し ポート サイズ 

バイト 〔8131 り 転送 



00化 付き 複数 ブロック 転送 
0: 通常 動作 

1:00 化 入力が あると, 強制的に 
次の ブロックの 転送 を 行う 



ディ レ クシ ヨン 
0: メモリ —デバイス/ 隱―關 
1 : デバイス— メモ リ 



デバイス ポ一 ト サイズ 
0: 8 と ポー 卜 
1 :16 と ポー ト 

デバイス タイプ 



― ペリ フェラ ルコン ト ロール ライン 
00: ステータス 入力 
01 : インタラプト 付き ステータス 入力 
10:; ^スタート パルス 
11: 八 808 了 (強制 終了) 入力 



68000 バス タイプ 

6800 バス タイプ 

I 付き デバイス 

丽 と"^ 57 付き デバ ィ ス 



エクスターナル リク エス トモ 一 ド 
00: バース ト 転送 モ一 ド 10: ホールド なし サイクル スチール モード 

01 ゾ 未定義) 11 : ホールド 付き サイクル スチール モー ド 



44 



0^ 



出力 を 行います。 11 'は 1/0 側の 応^^' 遅く, 01^ 八が 出力 して く る 八 0^ 信号の タイ ミ ング 
では 間に あわない 場合に 使用され る モー ド です。 1/0 から 01^/1 ^じ に対して データの 入出力 準 
備が できる まで 待っても らう 信号 (尺丑 八!) V 信号) を 出力す る ことで, 0^1 八 (: に ウェイ トを 
かける わけです。 01\1 八 (: 側で は, ? (: し ライ ンが この 尺2 炎 了 信号の 入力 ピンと なり ます。 
,11 'に 設定した とき, ?じ し ビットに よる 設定 は^されます。 '川' と 11 'のど ちらに 設定す 
るか は ハー ドウ ヱァの 作り方で 決ま り ます。 



03 



ひ卩さぐ デバイス ポート サイズ) 



接続され ている 1/0 が 8 ビッ ト ポートで ある 力 \ 16 ビッ ト ポートで あるか を 決める ビッ ト 
です。 デュアル アドレス モードの とき は, 八 II 〈 デバイス アドレス レジスタ) で アクセスされ 
る 側の デバイスが 8 ビッ ト アクセス しかで きないの か, 16 ビッ ト アクセス もで きる のか を 設定 
する ことになります。 0?5 が なら 8 ビット ポート, 1 ならば 16 ビット ポートで ある こと を 
示します。 メモリ は 16 ビッ ト ポートの 扱いになります。 

X 68000 の 場合, ? 0, 11ひ 八 0?04 はすべ て 8 ビット ポー ト です。 チャンネル # 2 を 使つ 
た メモリー メモリ 間 転送 は 通常 16 ビッ ト ポートに 設定して 行います が, 256 色 や 16 色 モード 
のとき の グラフ ィ ック 画面の ように, 上位 ビッ ト カズ 意味 を 持たない ような ときには 8 ビッ トポ 
一 ト に 設定して 耘送を 行う こ とがで き ます。 

0?3 が で' 〈 8 ビット ポート) に 設定 さ れて お り , 八!? が変ィ 匕す るよう に 設定 している とき 
に は 転送先の 番地が 2 番地お きになる ことに 気をつけて く ださい。 46 ページの 図 13 に メモリ 
かち 0?3 を で 'に 設定した デバイスへの 転送が どのよ う に 行われる か を 示します。 

八 尺の 初期値 力^ 数の 場合に は 上位 8 ビッ ト, 奇数の 場合に は 下位 8 ビッ ト だけ を 飛び 飛 
びに アクセス していく ような 動作になります。 乂 68000 の グラフ ィ ック 画面で は 16 色 や 256 
色 モードのと きも 1 ドット は 1 ワードで あり, 上位 ビット を 無 見す るよう になって いるた め' 
0?5 を で' に して [八 転送す る 方法が 使えます。 



04 



90 し (ペリ フェラ ルコント ロール ライン) 



0011 の!) 丁 V? ビッ 卜が' 01, (6800 バス タイフ。) 以外のと きに, 0^1 八 (: の? じし ピンの 機 

能 を 設定し ます。 

,00, や' 01 'に 設定した とき, ?じ 乙 ピン は ステータス 入力 ピンと なります。 で1 'に 設定した 
とき は ? (: し ピンの 立ち 下が り (只ほヒ か ら し 吸 への 変ィ で 割 り 込みが 発生 します。 ? じし ピ 



45 



図 …… 13 デバイス ポー ト サイズが 8 ビッ ト のと きの 転送 




ン による 割り込み である こと は, 害リり 込み 処现 ルーチンの 中で を 読む と, ? (: 丁ビツ トが 
立って いる ことから 判断す る こと がで きます。 

'川' に 設定す る と, ? じし ピン は チャンネルが ァク ティ ブ になった こ と を 外部に 示す 出力 信号 
と し て 動作 します。 ?じ し ピ ン は 通常 91^1 レベルで すが, チャン ネ ルがァ ク テ ィ ブに な つ た 後, 

4 クロック サイ クルの 問 だけ し 恥 と な り ます。 

,11 'に 設定され ると, ? (: し ピン は!)] V [^転送の 強制 終了 (八 801? 丁) 入力信号 ピンと して 
動作す るよう になります。 この 信号に よって !)!^/ [^転送が 終了す ると エラー 扱いと なり, 051? 



46 



01^/1 八 



の ビットが' 1 'になり, 1:2 尺に は 310 (外部 強制 停止) が セットされ ます。 



@5 旧 (ディ レ クシ ヨン) 

01^^ に よ る デー タ の 転送 方向 を 設定し ます。 この ビット を' 'にす ると メモリから 1/0 へ 
の 転 逸 丁 にす ると 1/0 から メモリへの .1 云 送 を 行います。 デュアル アドレス モードの ときに 
は, ,0, にす る と IV [^尺 (メモ リア ドレス レ ジス タ) で 示される 番地から 八& (デバ ィ スァ ド 
レス レ ジス タ) で 示される 番地への 転送, 丁 にす る と 逆 方向への 転送に な り ます。 



06 



8 丁 0(001X1 巴 付き 複数 プロック 転送) 



ョ0 63450 に は, 複数 ブロ ッ ク の!!! 云^^に 00X2 入力 を 使って その ブロ ッ クの幸 云 送 を 中断 
し, 強制的に 次の ブロックの 丰云 送に 移る, 00X5 付き 複数 ブロック 転送の 機能が あります。 こ 
のビッ ト 力い 1 'になって いると, この モード カズ 選す 尺され ます。 



07 



312 巳 (オペランド サイズ) 



データの 転送 を 行う 単位 を, バイト は ビット), ワード 〈16 ビット), ロング ワード 〈32 ビ 
ット) のい ずれに する か を 設定す る ビットです。 ただし, オペランド サイズが 8 ビットの とき 
に は, 01\1^0 は バスの 使用 効率 を 上げる ため, 可能な かぎり データ を まとめて 転送す るパッ ク 
動作 を 行います ので, バス 上の 実際の 動作が 5122 の 指定 どお り になって いない こ とが あ り ま 

す。 

たとえば, 5122 が 8 ビッ ト, 0?5 力;' 8 ビッ 卜に 設定され ており, : お 送 バイ ト 数が 2 バイ ト 
ムリ上 あ り, 次に アクセス する メモリ 番地が 偶数 という 場合 を 考えて みま す。 

この場合, メモリへ は ワード 単位で アクセス できる ため' I)]V [八 (: は 1/0 アクセス を 2 回' 
メモリ アクセス を 1 回と いう 丰 云送サ イク ルを 実行し ます。 48 ページの 図 14 に パック 動作が 行 
われない とき と 行われた 場合との 1/0 から メモリへの データ 転送の 例 を 示します。 パッ ク 重が 乍 
力 5 ' 行われ ると, 1/0 から 2 回読み 取つ た 後で メ モ リ へ 書 き 込む ようにす る ことで メモリへの ァ 
クセス を 1 回 分節 約す る わけです。 逆 方向 (メモリから 1/ひ への も; 送なら ば' メモリから ヮ 
ード 単位で 読み取った 後, 1/0 への バイ ト アクセス を 1 回 行い, 次の 1/0 アクセス は 先 ほど 読 
み 出して おいた データ を 1/0 に 転送す る ことで, メモリ アクセス を 1 回 節約す る わけです 。 



47 



ヮー ド アクセス する 側 (先 ほどの 例で はメ モリ) のァ ドレス 力 ^ 奇数であった 場^, ヮー ド 

アクセス する 側の ァ ドレス カク 変ィ 匕し ないよう に 設定され ている ほじ尺 の] V [八 (: や 八 (: で設 
定 する) 場合に はパッ ク 重が 乍 は 行われず, 3122 の 設定 どお り バイ ト 単位で 丰云 送が 行われます。 
5122 ビットの '订' の 設定 は, 先 ほどの 例の ような 8 ビット ポートと メモリ の 間の データ 転 
^の パック!^ 乍 を 禁止し, 必ず バイ ト 単位で 1/0 と メモリ を 1 回ず つ アクセスす るよう にす 
る ものです。 X 68000 の 005, ^11111311 68 X では, チャンネル #0, #1, #3 とも 5122 ビッ 



^ 図 …… 14 0^0 パック 動作の 例 



1/0 



メモリ 



獣 〇 



1/0 



〉 0^0 



メモリ 



1/0 



メモリ 



隱 



メモリへの 書き込み をし ない 



1/0 



圆 



メモリ 



1/0 



隱 



メモリ 



く: 



ハックな し 



1/0 



瞧 じ 



1/0 



隱 



メモリ 



く 



16 ^分 ま とめて 書く 



パック 動作 



48 



0^ 



トを 11, に 設定して 使って います。 



08 



01 "!八 (チェ イニング オペレーション) 



すでに 述べた とおり, 80 63450 は 複数 プロ ッ ク耘 送をサ ポー ト する 機能と して, 0^^0 自 
体が メ モ リ 上の 転送 情報 テーブル を 読み取 り ながら 動 く アレイ チ ヱイ ニンク" 動作 や, リンク ァ 
レイ チヱ ィ ニン グ動 作が 行 える ようになって います。 

じ8 八 IV ビッ トは, この チェ ィ ン 8?| 乍 を 行わせる 力 \ 行わせる ので あれば アレイ チ エイ ン動 
作に する のか, リンク アレイ チェインに する のか を 決める ビットです。 ,00 'の ときには チ エイ 
ン&^ は 行われません。 ': 10 'のとき は アレイ チェ イニング!^ 乍, ': 11 'の ときには リンク アレイ 
チェ ニン グ 動作に なり ます。 



09 ^^(^(^ リクエスト ジェネレーション メソッド) 

1 ブロ ッ ク 分の 転送 モー ド である ォー ト リクエスト, 外部 車 云 送 要求な どの 転送 モー ドを 38 尺 
する ビッ ト です。 ,00, と ,01, はと も にォー ト リクエスト で', 外部からの 転送 要求 信号が 発生し 
ない, メモリー メモリ 間!)! 云 送な どに 使用され ます。 で1 'の ときには 最大 速度です から, 転^! 冬 
了 ま でソ くス を 取つ たま ま にな り ま すが' 10, の ときには 0じ^ で 設定 さ れた 比率で 間欠 的に 転 
送 を 行います。 

': 10, のとき は 外部の 1/0 からの 112(3 信号に 応答して 串 云 送 を 実行す る 外部 要求 転送 モー ド 
に, ': 11 'のとき は チャンネル か 1 坩乍開 始 して 1 回目の 転送 は オート リクエスト, それ 以降 は 外 
部 要求 転送で 馳 乍し ます。 

丁 V ?, 0?3, 512 & 1^20(3 ビッ 卜に は 設定で きない 組み合わせが あります。 50 ページの 
図 ほ に 0]V [八 じ 力 《サポート している モード を まとめ まし たので 参照 してく ださい。 



參 図- 



- 15 0〜 八 が サポート する モード 



ァ ドレス モー ド 

(:)! "丫 


デバイス 
ポート サイズ 


転送 要求 発生 法 

邮 01^ 


オペランド サイズ 


バイ ト 


ワード 


ロング ワード 


デュアル アドレス モード 

〈0 丁丫ド 「で ド) 


8 1311 


で0,, ,01ソ10,,,11, 


〇 


〇 


〇 


16 ま 


で0 ',で V 


〇 


〇 


〇 


16^)11 


つ。,,,"' 


X 


〇 


〇 


シンク' リ レアド レス モード 

(り 丁 丫?: ^ゅ 「 'リ' 〉 


8 り は 


で に , 10\"\V 


〇 


X 


X 


16 比 


,00,,,01,ノ10,,,11, 


X 


〇 


X 



〇: 設定 可 

X: 設定 不可 

丁丫 ! 3 , 0?3: 008 (デバイス コン 
00 1 5 ぽ 6:1X8 〔 才 ペレ一 シ ョ : 



-ルレ ジス タ) 中の ビッ 卜 

, 卜 ロール レジスタ) 中の ビッ 卜 



3 50^ 00^ 



5じ 尺 (シーケンス コントロール レジスタ) と, (:じ尺 (チャンネル コントロール レジスタ) の 
ビット 配置 を 図 16 に 示します。 3じ 尺 は 転送 元 や 転送先 アドレスの 増減の 制御, (:じ 尺 は チヤ 
ン ネ ルの 動作の 開始/停止 や 割 り 込み マス ク など を 行 う の に 使用 さ れ ま す。 



1 IV! 八 じ (メモリ アドレス レジスタ カウント) 

IV [八 (: は, 0^八|云送のたびに1\1八只 (メモリ アドレス レジスタ) の 値 を 増減させる 力、 否か 
を 決定 します。 IV! 八 じ が ,00, のとき は IV [八^ は 変化 し ません。 ,01 'のとき に は 幸 云 送 力 5 ' 行われる 
たびに 増加, '川' のとき に は 減少 します。 

シングル アドレス モードの ときには, この 変 イ^! は オペランド サイズに 一致し ます 力 5 ', デュ 
アルア ドレス モー ドの ときには 0じ 尺の!)? 5 ビッ トゃ 0じ尺 の 5122 ビッ トの 設定に よって 
変化し ます。 52 ページの 図 17 に デュアル ァ ドレス モー ド のとき の 1 オペ ラン ドの耘 送 ごとの 
データ 転送の 形態 ゃァ ドレスが どれ だけ 増減され るかな ど を まとめて みま した。 オペ ラン ドサ 
ィ ズが バイ ト 単位の と き に はパッ ク 動作が からむ ため 厄介な よ う に 思え ま す 力 5 ', こ れは 
0矹 八 (: が , 云 送 効率 を 上げる ために 陰で どのように 動作す るかと いう ことであって, じ? ひ 側が 
気に かける 必要 は ほとんど あ り ません (車 云 送が エラ一 で 終了 したと きの 要因 1 稱斤を 行う ときに 
は 知 つてお く 必要が あ るでしょう が) 。 



50 



0^ 



鲁図 …… 16 50^ : シーケンス コントロール レジスタ : チャンネル コン ト ロール レジ 
スタ (十^^^) 

501^ (シーケンス コン 卜 ロール レジスタ) | 0:6 (チャンネル コント 口一 ルレ ジス 夕) 



,0, 


圆 


0^0 


5 丁 6 


01^7 


4 し 丁 


3 六 8 


^丁 


,0, 



- ブル 

0: 割り込み 発生 禁止 
1: 割り込み 発生 許可 

ソフ トウ エア アボート 

1: チャンネル 動作の 停止 

ホルト オペレーション 
1: チャンネル 動作一 時 停止 

~ コンテ ィ ニュー オペレーション 
0: コンテ ィニュ 一動作な し 
1: I! あり 

~ スタート オペレーション 
1: 動作 スタート 



テ' ノ、' イス アドレス レジスタ カウント 



デバイス ァ ドレス レジスタ は 変化し ない 
転送が 行われる ごとに デバイス アドレス レジスタの 値 は 増加 
II 減少 

(未使用) 



メモリ アドレス レジスタ カウント 



メモ リア ドレス レジスタ は変ィ 匕し ない 

転送が 行われる ごとに メモリ アドレス レジスタの 値 は 増加 

II 減少 

(未使用) 



0*02 八 (^(デバイス アト レス レジスタ カウント) 

デュアル ァ ドレス モー ド のとき に デバ ィ ス 側の ァ ドレス を 指定す る 0^ 尺 
ス レジスタ) の 増減の 指定 を 行う ビットです。 



ドレ 



03 3 丁 ^(スタート オペレーション) 

0矹 八 転送の 開始 をキ际 する ビッ ト です。 通常 は ,0, で, この ビッ トを 丁 にす ると 



図 …… 17 デュアル ァ ド レス モー ドの 動作 



デバイス ポート サイズ 

ま) 


オペランド サイズ 


メモリ アクセス 

〔サイズ〕 X 〔回数〕 


デスく イス アクセス 

〔サイズ〕 X 〔回数〕 


ァ ドレス 增 減量 


メモリ アドレス 


デバイス アドレス 


81)11 


パイ ト (ョに に-' 00リ 


ワード X 1 


バイ ト ズ2 


±2 


土 4 


11 
山 

の 


ワード X 1 


バイ ト 乂 1 


±2 


±4 


II 

1X1 

丄 

入 


ワード ズ2 


ノくィ ト 乂4 


±4 


士 8 


ぺ 々 
マ^: 
^ 厂 

II 


バイ ト XI 


バイ ト XI 


±1 


±2 


16511 


ノ、' ィ ト 〔512 & ニ,00リ 


ワード X 1 


ワード X 1 


土 2 


±2 


ヮー ド (ミに & ニでド) 


ヮ一ド X 1 


ワード X 1 


±2 


±2 


ロング ワード (ミに 已ビ 10リ 


ヮ一 ド ズ2 


つ一 ド X? 


±4 


±4 



ホ に パック 動作が 行われない 場合, メモリ, デバイス とも バイト XI 
ァ ドレス 更新 分 は | メモリ アドレス は 土し デバイス アドレス は ±2 

#2 : パック 動作が 行われない 場合, メモリ, デバイス とも バイト XI 
ァ ド レス 更新 分 は | メモリ アドレス, デバイス アドレス とも 小 1 



転送が 開始され ます。 31^ ビッ 卜に' 'を 書き込んでも 動作 は 停止し ません。 強制的に 終了 さ 
せたいと き は 3^8 ビッ トを, 一 止させたい ときは^し 丁ビッ トを ': I 'にします。 
5丁11 ビッ トを' 1 'に するとき は, 八 (: レジスタへの アクセス は バイ ト 単位で 行って くださ 

い。 ヮー ドゃ ロング ヮー ドで アクセス すると 動作 タイ ミ ング エラーに なり ます。!" 111111 3 1168仄 の 
^ヒ乂 は リード/ライ ト とも ワード 単位で 行われます ので, 3卜乂 の 1116 (メモリ エディ ッ ト) 

コ マン ド では 01^ [八 (: に スタート を かけられません。 注意して ください。 



0*6 4 



丁 (コンテ ィ ニュー オペレーション) 



複数 プロ ッ ク 転送のう ちの 継:!! 動作 を 行わせる と き に 使用す る ビ ッ ト です。 5 丁 尺 ビ ッ ト か 
の 八 (: 丁 ビット 力 5 '' 1 'になって いると き (転送 動作 中のと き) に, 次の 転送 アドレス や 転 
送 数, ファンクション コード を, それぞれ] 3 八 尺, 8X0 ぉ?じ の 各 レジスタに セットした 後で 
(:^ 丁 ビット を 丁 にす る と 継 ま 18 力作に な り ます。 

や 八 じ 丁ビッ ト 力い 1 'になって いないと きに じ" 丁ビッ トを' 1 'にす ると 9】 作 タイ ミン 
グ エラーになります。 また, チェイン モー ド かす 旨定 されて いる と き (ひじ 尺の じ11 八 IX ビッ ト 
が' 10 'や' 11 'のとき) に (:^! 丁 ビット を' 1 'にす ると, コンフィグレーション エラーに なり ま 
す。 



52 



0^ 



05 



I "(じ 「(ホルト オペレーション) 



転送 動作 中に 8し丁 ビッ トを 1, にす ると, 一時的に 転送 謝, を 停止し ます。 9 し 丁ビッ ト 
が' 'に 戻る と, 中断して いた 転送 動作 を 再開し ます。 外部 要求 転送のと き, 9し丁 ビットに よ 
つて 動作 を 中断して いても, 次の 要求が 発生 した かどう かの センス は 行って います。 

ただし, バース ト 転送 モー ドの ときには ^乙 丁 ビッ トが '(!' に 戻った 後, 最初の 転送が 開始 
される まで, 1/0 デバ ィ スは 1^(3 信号 を 出し 続けな くて はなり ません。 



06 5 八 8 〈 ソフト ゥ I ァ アボート) 



': ['にす ると 耘送謝 乍 を 強制的に 終了させます。 このと き, (:巳 尺の 2尺 尺ビッ ト カジ 1 'になり, 
じ5尺 に は 311 (ソフトウェア 強制 停止) がセッ ト されます。 21^11 ビッ ト カジ 1 'になった ときに 
5^8 ビッ トは 自動的に ク リアされ るよう になって いますので, 5 八 8 ビッ ト はいつ でも ,0 'が 
読み出されます。 



7 丁 (インタラプト イネ 一 プル) 

チャン ネ ル の!^ 乍 か 1 冬 了 したり, エラ 一が 発生 したと きに じ? I; に 対 し て 割 り 込み を かける 
力^か を 指定し ます。 ,1 'になって いると 割り込み 発生 を 行い, で 'になって いると 割り込み を 
発生し なくなります。 

割り込みの 発生す る 射 牛 は, IX 丁が' 1 'で じ 511 レジスタの じひじ, 8丁じ, 21^, ^0 丁, 
? 01 のい ずれ かが ,1, になった と き です。 ただ し, ? 07 は, 0じ & の ? (: 乙 ビ ッ ト で 割 り 込み 

付き ステータス 入力に プログラムされ ている とき だけ 割 り 込み 要因 となります。 

割 り 込み 発生 時の 割 り 込みべ ク タ 番号 は;^ IV (ノーマル インタラプト ベクタ) レジスタ, 21乂 
(エラー インタラプト ベクタ) レジスタで 指定し ます。 5:^^ ビット カズ' 1 'になって いると きに 
は 2ひ が, それ 以外の ときには XIV の 値が 使用 されます。 



^ 



じ ?1 ? (チャンネル プライオリティ レジスタ) の ビット 酉 己 置 を 54 ページの 図 18 に 示します。 



53 



図. 



18 チャンネル プライオリティ レジスタ (十ぁ?り) 




!~ チヤ ン ネル ブラ ィ オリ ティ 
00: もっとも 高い 優先 度 
01: 2 番目に 高い 優先 度 
10: II 
11 : もっとも 低い 優先 度 



(:? &は, 0^1 八 (: の 持つ 4 つの チャンネル 間の プライオリティ (優先順位) を 決定す る もので 
す。 プライオリティ は' 00 'が もっとも 高く,' 11 'が もっとも 低くな つてい ます。 複数の チャン ネ 
ル から 同時に 要求が あった 場合, プライオリティ の 高い ほう の チャンネル 力;' サービス されます。 
複数の チャンネルに 同じ プライオリティ を 設定す る こと も 可能です。 この場合, 同一 プライ 
オリ ティの もの どう しの 間で は サービス された ものが もっとも 低い プライオリティ となり, 巡 
回サー ビス される ラウンド 口 ビン 方式で サー ビスが 行われます。 



5 1^/11=0, 01=0, 81=0 



!^?ひ メモリ ファンク ショ ン コード), 0?ひ デバ ィ スフ アン クシ ヨン コード), 81^: (ベース 
ファンクション コード) の ビット 配置 を 図 19 に 示します。 68000(3?!; は, メモリ や 1/0 をァ 
クセス するとき に ファンクション コード と 呼ばれる 3 ビットの ス テータ ス 信号 を 外部に 出力 し 
ます。 この ステータス ィ# 号 は, 今冋の アクセスが, ユーザ モードでの アクセス なのか, スーパ 
一 バイ ザ モードでの アクセス なのか, また データ アクセス なのか, ~7 。ログ ラムの I 売み 出しな の 
か, あるいは 割り込みへの 応答 サイ クルな のかと いった 情報 を 示す のに 使われます。 

X 68000 の 場合, ?1 1101311 68 ^ の 本体 や ワーク エリ ァの ある 低い 番地 や 乂&八]^ や 1/0 の 
ある 領域 を ユーザ モードから アクセスしょう とすると バス エラー 力;' 発生し ます 力、 この フ 'ロテ 
クシ ョ ン搬海 は, この ファンク ショ ンコー ドを 使って 行って いるので す。 

!)!^^: もじ? リ に 準じ, ファンクション コード を 出力で きる ようになって います。 0]V [八 じ 
が 出力す る アドレス を 保 待す る レジスタ は] V [八 尺 (メモリ アドレス レジスタ), 八 尺 (デバ ィ 
ス アドレス レジスタ), 8 八^ (ベース アドレス レジスタ) の 3 本が あります ので, ファンク ショ 
ン コード も 各 レジスタ ごと にす 旨定 でき るよう に 3 つ 用意され ています。 IV! 八& でァ クセス する 
と き に 使われる のが 靈 じ, 八^ のとき は !)]^, 37\1^ に は 81^: が 使用され ます。 継;!! 動作 
モー ドの ときには, 次に 使用され る 皿?じ を 8?じ に 設定し ます。 



54 



0^/1 八 



図 …… 19 [^「(:/。 ド じズ8「0: ファンク ショ ンコー ド レジスタ (十 あ ュ^ + ^ョひ+ ^ョョ) 



匕!【7 &は 



で' 


^02 


「01 


「。0 



」 



アン 


クシ ヨン コー ド 


000 


(未使用) 


001 


ユーザ データ 


010 


ユーザ プログラム 


011 


(未使用) 


100 


(未使用) 


101 


スーパバイザ データ 


110 


スーパバイザ プログラム 


111 


インタラプト ァクノ リッジ 



X 68000 で 通常 使う ときには ファン クシ ョ ン コード は '川リ, すなわち スーパー バイ ザ データ 
(スーパーバイザ 状態での データ アクセス) にして おけば よいで しょ う。 



6 00^ 



00^ 〈 ジヱネ ラル コントロール レジスタ) の ビット 酉 己 置 を 56 ページの 図 20 に 示します。 
は, 限定 速度で 転送 を 行う ときの バスの 占有の しかた を 制御し ます。 



01 



8 丁 (バースト タイム) 



限定 速度で 動作す る と き, 限定 速度での 01^ [八 転送 要求 を 発生す る 期間 (ォー ト リ ク エス ト 
インターバル) を クロ ッ ク 数で 設定し ます。 オート リクエスト イン ターパ' ルは 2 1!1 ボ クロック 
となります。 



02 



6^ (バースト ウイ ズス レシオ) 



限定 速度で 動く ときの バスの 使用 率 を 決定す る ビットです。 0^ 八 じ は' じ?1! が 出力す る 
80^01^ (バス 解放 要求 受付) 信号 を 監視して, じ? リ 以外の デバ ィ ス は 68000 では 0^ 八 じ 
しか あ り ません 力り 力 《 バス を 使 川 している 期間 力 《 全 サイ クルの 2ー ^〜 になる よ う に 限定^ 



55 



,図- 



- 20 ジェネラル コントロール レジスタ (十^ドド) 



で, 



8 丁 



6^ 



匸. 



\ 'ン ドウ ィズス レシオ 
(バス 占有率) 



50.00?^ 
25.009^ 
12.509^ 
6.259^ 



1 バース ト タイム 

り バースト あた りの 0リ;\ク ロック サイクル 数) 
00: 16 クロック 
01 :32 クロック 
10:64 クロック 
11: 128 クロック 

ネ 8 丁, 88 と も 0リ4 の モー ドが 限定 速度 ォ一 ト リクエスト 
(。(^ の 下位 2 6 はが' 00 'になって いると き) になって い 
る チャンネルの 動作に だけ 影響す る。 

での 标送を 実行し ます。 

いま, 8 丁 ビットに' 00,, 8 尺 ビットに' 01 'を 設定した とします。 このと き, オート リク ェ 
スト インターバル は 16 クロック, バス 占有率 は 25 パーセントと なります。 また, 0]V [八 (: 力 3 ' 
バスの 使用 率の サン プリ ングを 行う 期間 は ミ 8 "" 81 ^ 1 ク 口 ック です。 この 例で は サン プリ ング 
期間 は 64 クロックと なります。 

。^^(: は, 64 クロックの 間, 80 八 (:!^ 信号 を 監視し, じ? じ 以外の デバイス 力 5 バス を 使つ 
ている 期間 を 測定し ます。 もし, この 期間が 16 クロック 以下で あれば, 次の 64 クロックの 期 
間が 始まって から 16 クロックの 間, 限定 速度に よる!)] V [^転送 要求 を 発生し ます。 もし, 16 
クロ ッ クム 11: バスが 使用され ていれば, 次の 64 クロ ッ クの 問, 限定 速度に よる 01^ 入 転送 要求 
を 発生し ません。 このような 動作に より, 長い 期間で 見る と, じ? じ 以外の デバイス による バス 
占有率 は 25 パーセント^ になり ます。 

限定 速度での バス 使用 率が, 転送す る チャンネルの 使用 率で はなく, (:! 5 !; 以外の 全 デバイス 
力 《使って いる 期間で 算出され る ことに 注意して く ださい。 限定;!)^ 以外に 設定され た チャン ネ 
ルがぁ ま り 頻繁に 01^ 八 転送 を 行って いると, 限定 速度に 設定 した チャンネル はいつ までた つ 
て も 幸 云 送が 実行で きない ことになります。 



56 



I "!リ の 30 68 にの 初期設定 値 



^11111311 68 X による 0]V [八 (: の 設定 値 を 図 21 に 示します ので, 0^^: を 自分で ィ ニシャ 

ライ ズ して 使用 するとき の 参考に してく ださい。 68 ^ は, 0]V [八 (: の イニシャライズ 
を 起!^ に 行う ので はなく, それぞれの チャンネル を 使用 するとき に はじめて 行う ようです。 

このため, フロッ ピー ディ スク から 起動した ままの 状態で チヤ ン ネル # 1 (ノ、 一 ド ディ スク) や 
チャンネル # 3 (^!)?。]^) の レジスタ を 読む と, 妙な 値が 入 つてい ますの で 注意 してく ださい。 

チャンネル #0 と #1 は 0]V [八 じ か ら の 割 り 込み を 禁止して おり, ベクタ に は 30 ? が 入 つ て 
います。 ?:) や 90 は コントローラし 31 の ほうが 賓リり 込み を 発生す るた め, ひ^^じ に 割り込 
み を 発生 させずに 使って いる わけです。 

ベクタ 50 ? の 割 り 込み は 非 初期化 割 り 込みべ クタ 番号と 呼ば^^ 68000 システム において 初 
期 化の 完了 していない 1/0 デバイスから 発生し た 割 り 込み 番号 として 予約され ている もので 
す 〈110 63450 は リセット 後, XIV と 21乂 とともに^? に 設定し ます)。 



図 …… 21 I "(リ^ 130 68 X での 設定 値 



\ チャンネル 
レジスタ 


#0 


#1 


#2 


#3 


008 


580 


580 


508 


580 


0〇^ 


3 巳 2 


582 


500 


532 


508 


504 


504 


800 


^04 


008 


300 


500 


300 


808 


曙 


50「 


30「 


368 


36み 


& IV 


50「 


30「 


809 


^68 


〇98 


500 


302 


803 


201 



氺 ベクタ 番号 




57 



サン フル プログラム 



01\4 八 じ を 操作す る サン フ。 ル プログラム として, テキス ト 画面の ク リア を 行う ものと, グラフ 
イツ ク 画面の 矩形 領域への 転送 を 行う もの を 作成して みました。 

サ ンプ ノレ プロ グラ ム は 0じじ や XI: でコ ンノ 、。ィ ル 可能です。 X じ は シ ャ ープ 純正です が, 実 
際に は^ される コード の 質が よ いこと などから フリーソフト ゥヱァ の 0じ じ を 利 用 さ れて レ 、 
る 方が 多い と 思われ ますので, サンプル は 00: 用と なって います。 XI: では 乂 131;;16 が 使用 
できない ので, タイ トルの 最後に ある #3(^06 マクロ を コメント 内から 出す カヽ リスト 中の 
乂01;11;;1 6 という 文字列 を 削除して から コンパイルして く ださい。 000 を 使用す る 場合に は, 逆 
に マ 1 3 セ;1 6 をつ けて おかないと, よけいな ォプ ティ マイ ズ をされ てし まい, 動かな くな り ま 
すので 削除し ない ようにして ください。 

サンプル プロ グラ ム 作成 時に 使用 した バッチ フ アイ ルは 次の ような も のです。 
~ 000 III 

200 - ― ぞ01111ト — 口 0山 お!" — ね は 10115 - お 仕61^1:11 -] :6 き 6 ぉ1 ぉ2 ^3 | 

4 乂5 13381113.3 10081110.3 ^051113.3 



, X。 川 

00 7 1 XI %3 7 4 0パ5 IX 



1 八 による テキスト 画面 ク リア 



0]V [八 じ を 使用して テキス ト 画面 ク リア を 行う プログラム を リスト 1 に 示します。 
511?2 尺 ((!); で スーパバイザ モー ドに 入った 後, テキス ト VI^V]V [の 先頭 番地に を 書き 
込んで おきます。 

0^ 転送 は IV [八 尺 の 指す 番地 か ら 八 尺 の 指す 番地への! |! 云 送で 行 つてい ます。 IV [八^ 
と 八 尺 をと も に テキス ト V 尺八] VI の 先頭 番地に あわせ, 八!^ だけ をィ ンク リメ ントす 
るよう に プロ グラムして おきます。 これによ つて, V 尺^] VI の 先頭 番地の データが テキス 
ト V 尺八] VI 全体に 書き込まれる わけです。 この サンプル では 先頭 番地に を 入れて いま 
すので, テキスト 両而 ク リアになる わけです。 

オペランド サイズ は ロング ワード 〈32 ビット) にして います。 テキスト 岡而が 256 X 



58 



0!71 八 



バイト あるのに 対し, IV! 丁 じ は 16 ビット 〈641 く バイト) 分し かないた め, オペ ラン ドサ 
ィズを ロンダ ワードに して 64 1^X4 = 256^ バイ ト を 一度に 転送す る ようにして みた わ 
けです。 



會 リスト …… 1 0171^0 による テキス ト 画面 ク リ ァ 

^ リスト 1 :01^ 六 コント 口一 ラ による テキス 卜 画 [^ク リ ァ 

^ X じ では ン01れ116 が サボ一 卜されて いないため、 
^ 次の 1 行 を 入れて ン01れ116 を 無効に してく ださい 
ホ 

#1110111(16 ^031 15. ヒ〉 



3111101 退 ぼ I 
1111318^6(1 01)31 
1111518116(1 
111181^6^1 
11113121^6^ 
111151^6^ 
111131^6(1 

111^31^116(1 
111151^116(1 
111181^6(1 
111151^6(1 
1111318116(1 011 & I 
1111318116^ 511011 
111131^16(1 
111131?116^ 
は1131 8 ひ 6(1 
11113121160 
11031^16(1 0\\^ 
11^81^116(1 (:!^]: 
1111812^6(1 011 & I 1 

111151^6^ にヒさで 
111151^6^ 5110 で セ 
11^51^6(1 011 & !" 



き: 
31101^ 

あで 

511011: 

8)101*1: 

10112 



3^10 は 
1011^ 



3^3161 ; 
お ; 
001 ; 
301^ ; 
001 ; 
8^162; 
ま: 

^31; 
3^3164; 

510; 

化 3『; 
5^3165 ; 

11^; 
3^)316 ^ ; 
6^ ; 

111^0; 
3^)3169; 
5,610 ; 



59 



111151^116(1 


はお 


0?1; 


1111312116(1 


5110 で 1; 


3?31611 ; 


1111518116(3 


01131 


8^1612 ; 


1111318116(1 


01131 


がに 


1111518116(1 


10112 


3 お 1613 ; 


111131^6(3 


81101*1; 


3^1614 ; 


1111318116(1 




3^31 1 615 ; 


1111518116^ 


01131 




111151^6(1 


10118 


3?31616 ; 


111131^16(3 


011 & I 


3^)31617 ; 


1111318116(1 


01131 


がで; 



ソ。" 1113111 ; 

^1113.861; 111)0 ; 

ゾ01过 (!髓ー ぬ で1:0 ; 

ソ0ぉ ^31 1.001111)161:60 ; 



^?ぱゅ) ; 

キ (昍ミ! 印 6ヒ 1111 00x600000 : 0; 
^3 : お ひ リ" 匪が ^ 0X684080; 



I、 チャンネル #2 を^^す る 、1 



01 631^1*1 3^0 ; 
^1113—561:1^0 ; 

01631 で 1^0 ; 



I、 058 のフ ラ グ 類をク リ ァ V 
I、 コ ソ ト ローラ 初期化 承/ 

^ 転送 開始 V 
〃 転送 終了 待ち 、1 
I、 フラグ 類をク リアして おく V 



701(1 ^1113^361: 11^0 



^1113-^01 


= 0x08 


01113 -〉 0ぴ 


: 0x21 


き-〉 3。3: 


^ 0x01 


-〉 


: 0x00 


は加3 -ん 卩]: 


: 0x03 


—〉 111^0 


: 0x05 


づ 1113 —〉 づ!^ 


^ 0x05; 



60 



0^^ 



きー〉 ま 二 0x^17 で; 

-〉 二 (は 115181^(1 0^ 400乂600000; 



ゾ。" (^ュ— 513 !" 10 

〉ばで 卜 0x80; 

ソ。^ ^31 1:^001111)1 61:6 

1 



ゾ。^ 01631^1380 
は腿- 〉。8で : 0x1^ ; 

1 



2 グラフィック ソ8 八! V [への 矩形 領域 転送 (その 



不連続 領域への 転送が 一度に 行え る アレイ チェイン モード を 利用して, グラフィック 

画面の 矩形 領域への 転送 を 行う プログラム を 作成して みました (リスト 2 〉 。 65536 色モ 
一 ドで 画面に グ ラデー ショ ン パターン を 書き込んだ 後, 先頭 番地から 順に バッファに デ 
ータを 取り込みます。 この バッファ 上の データ を 矩形 領域 に 転送す るよう な 転送 情報 テ 
一 ブル を 配列 上に つくって います。 転送 情報 1 つで 水平 1 ライン 分の 転送 を 行い' これ 
を 垂直 方向の ドッ ト数分 だけ 並べて 転送 情報 テーブルと しています。 転送先の ァ ドレス 
^ "順次 変化 させて, 画面 上で は 四角い 領域が 動いて いるよう に 見せて みま した。 



61 



リ ス ト 



2 グラフィック ソ卩パ" への 矩形 領域 転送 (アレイ チェイン モード) 



I、 

ホ リスト 2 : アレイ チヱ イン モードに よる グラフィック 画面の 矩形 領域 転送 
ホ 

# X。 では 乂013 廿 16 がサ ポー 卜されて いないため、 

ホ 次の 1 行 を 入れて ソ0131116 を 無効に してく ださい 
承 

ホ 1(161106 ソ013ひ 16 
V 

#ま1 ま く 30511ヒ 11〉 



51;11101; 嫩 8 お | 




1111318116(1 




051 1 ; 


1111812116(1 


あで 


061 1 ; 


111151^6(1 


5110 は 


5 お!^ 丄 ; 




011 & 


^01; 




あ! 1 


00 1- ; 


1111318116(1 


01131 


501 ; 


1111312116(3 




001 ; 


1111818116(1 


811011: 


31331*62; 




311011; 


ま ; 


1111318116(1 


01131 




1111512116(1 


10112 


5^)3163; 


1111518116(1 


011 &]: 




111131^116(1 


811011; 




1111318116(1 


311011; 


510; 


111151^16(1 


ぁ1~ 


化"; 


1111518116^ 


10118 


8^)31*65 ; 


は 118 18 ひ 6(3 


ぁ『 


3^3166 ; 


111151811601 






111181^116^ 


きで 


8? & 1^67 ; 


1111318116(1 


あで 


6^; 


1111318116(1 




31)3168; 


1111818116(1 


あで 


ぽ 0; 


111131^6^ 


511011: 




111151^6(1 




8^31610 ; 


111131^116^ 


01131 


0^)1 ; 


1111818116(1 


311011 


5 ひ 3『611 ; 


1111318116^ 




5^31612 ; 


1111818116(1 


01131 


づ1 'に 



62 



111131^6(1 


10118 


5?31613 ; 


111151 2^6(1 


3110 は 






01131 


51^6丄5 ; 




01131: 


ま; 


1111518116(1 


10118 


31)31616 ; 


1111318116(1 




8?31617 ; 


111151^116(1 


(:ま 





311-1101 《?ほ— I 評 \ 

111151^6(1 5 11011 ネ 3(^3; 
1111318116(1 311011 16118^; 

1 X む— 111 で ひ"]: 

1111312116(1 3ヒ0 で I は" & ゎぱ 【256*256〕 ; 

1111318116(1 3 1101*1 510^(1313; 

乂01行 01 10 ; 
乂!^^ 1111 1^501:6611 ; 
せ。" ほ11100ズ ; 

乂01^ ^111^561 111)0 ; 
乂。" 一 513110 ; 
701(1 ^31 1.001111)161:6 ; 
ソひぉ 01631^1380 ; 

乂01廿 1113111 



1111 1; 

801:6611 (丄, 3, 1, 丄) ; 

5 翻 謂 ; 

1111 1^3016611 ; 

! 01 (! ^ 0; 1〈255; 

(! 篇 ^(^^!)^, 255-1, 1. 511-1, 1+256. 0乂 付 付) ; 



乂;^づ 1111 1.8016611 

1111312116(1 511011: ^!^, ^511? ; 
111181^6^ 1111: 1. ん 5, V; 

二 (じ:^丄^^^ 5 1)01-1 ^(^(^(^(^; 

^01 ひ 二 0; ^512*512; !+十) I 



5 二 1 & 0x1 ぞ; 

V 二 ひ 〉〉 5〉 & 0x1 ぞ; 

ヒ : ((! 〉〉 10 X 0x00)1 

= ^(れ, 3 | V〕 ; 



VI 1 3111 二 ("!^丄ぢ!^^ 氺〉0ズ000000; 
13 III 1 二 づ313 廿 II? ; 

^01 0=0; 1 く 256*256; ひ十) 

キゎはぞ+十 二 承乂1^111十十; 



マ。" 过贴—き 0)11 で, XI, ゲ 1, 乂2, ゝ 1、 000 
1111818116(1 311011 水 1)11 で ; 
1111818116(3 1111; XI, ゲ 1, ズ2, ゲ 2, 001 ; 



101 1, ズ1611, ^1611; 
1111312116(1 31101*1 *33^1I , 3; 

二 ズ2- XI ; 
ゲ 1611 : ゲ 2 —ゲ 1; 

31:0^(131:3 二 001 ; 

53(113 二 (じ!^丄^!已^ 511011 氺) 0X000000; 

8 & ^15 十: 512 む 1十ズ1; 

101(1=0; 1 ひ ざ 1611; 1++, ョぉ!^+^じ) 
ズで! 1 — 丄:^!^]. 3(11^ = 53^^5; 
?^! 4 — 101 "[え]. 161181^ = ズ16 れ; 



き : いま!; 瞧 5(5 ^ 0x684080; 

01 631^ 1380 ; 

^1113—561: II 口 (わじ ぞ, ゲ1611十1〉 ; 

(!饥 に 3131*1:0 ; 

00 ゆ 1616。 ; 



ソ01づ (!!!^ 一 861111)0)11 で 3(11*8, 1111 !^) 
1111518116(1 3 1101*1; 4^11^3(11:5; 
1111512116^ 1111: 11111(3; 



6^~^01 = 0x08 
6^^001 : 0x99 
(!!!^— 〉30『 3 0x05 



0^/1 八 



き-〉ば1 


二 0x00; 


-〉 嚷 


二 0x03; 




^ 0x05 




二 0x05 


き—〉 ま 


二 0x05 



&-〉 1)1。 二 11111(8; 
き 一〉 1)33: : ((^^^^(! 0^1 キ〉乂: ["! "ーはぞ ; 



(!^- 〉ば『 卜 0x80; 

乂01づ ま!; ― 001^1 6 16 

咄^ィ!は篇-〉"]: & 0x90)5 

(!聽 一〉 : 0X^1; 



03 グラフィック \78 八! VI への 矩形 領域 転送 (その 2〕 



7-2 で 行った 矩形 領域への 転送 を, リンク アレイ チヱ イン モード を 使用す る よ う に 書 
き 換えた のが リスト 3 です。 リスト 2 と 比較す ると, アレイ チェイン モードと リンク ァ 
レイ チヱ ィ ン モー ドの 違いが わかる と 思います。 



リ ス ト 



3 グラフィック V?! 八! VI への 矩形 領域 転送 (リンク アレイ チェイン モード) 



ト 

承 リスト 3 : リンク アレイ チュ イン モードに よる グラフィック 画面の 矩形 領域 転送 
ネ 

# X。 では ソ0131116 がサ ポー 卜されて いないため、 
^ 次の 1 行 を 入れて ソ013 11 16 を 無効に してく ださい 
ホ 

氺 1(1611116 ソ。13 出 6 

V 

#100111(16 く づ051 1ヒ 11〉 

51:1-001 0^1!80 I 



1111518116(1 


― レハ— 
011 


031: ; 




01131 


06 !' ; 




511011 


8^3161 ; 


111181806(1 




き; 


1111318116(1 




001 ; 


1108 1 806(1 


011 & I 1 


801 ; 


110318116(1 


01131 1 


001^ ; 


1111518116(1 


51)01:1: 




1111312116(1 


511011 


ま; 


110518116(1 


01131 


^31; 


111151 が1 6(1 


10118 


81)31*63; 


1111818116(1 


011 &]: 




1111813116^ 


311011 


3^3 !' 64; 


1111818116(1 






1111318116(5 




麵^; 


111131^116(1 


1。^ 


8^3165; 


1111318116(1 


あ!" 


51^3 !" 66; 






1117; 


は 1131^16(1 


ぁ厂 


5 卿 67 ; 




01131 


6^; 




01131: 


; 






11)1*0 ; 


1111818116^ 


51101*1 




111131806(1 


(;!) お 




1111318116(1 


01131: 


じに 


1111318116(3 


51101^ 


5^31611; 


1111318116(1 






1111512116(1 


01】 訂 


^0; 




10118 


8^31 1 613 ; 


111181^6(1 


311011; 


8^)31-614 ; 



68 



1111318116(1 01131 5^0 ; 
111)31^116(1 10118 51331 1 616 ; 
1111818116(1 01131 8ひ3で617 ; 



3111101 乂皿 —服 \ 

1111518^6(1 51101*1 ^ 3(1 1*3; 
1111518116^ 811011 16 8111; 
3111101 腿」 肝 キ1^ ヒ; 

1 X 『し^!" 〔512〕; 

111151^6(1 31101*1: (! & 131)11 で 【256 承 256】 ; 
ソ0131:116 311-1101 1)1^1^0 キ づ11^; 
1111518 ひ 6(3 5110 1*1: 310^(131:3; 



ソ。^ 11131 110 ; 
ゾ01づ 1111 ^8016611 ; 
ゾ01づ 1)0X0 ; 

ソ0^ (!^^ 111^)0 ; 
ソひ化 (!腿— 81訂1;0 ; 

、(^(! 7/31 1^001111)1 616 ; 
ソ0川 0163 し]" "バ) ; 



ソ0^ 0131110 
1 は 1 ; 

801-6611 (し 3, 1, 1〉 ; 

8リ 限 ⑨ ; 

1111 1 — 訂ば"〉 ; 

? 01 (! : 0; 1 く 255: 

6^0X^1 ^1 255 -し 1. 511-1. 1+256, れ〃 '! 7〉 ; 



乂01^ 11111:^801*6611 

111151^6^1 3110 I キソ厂301, ネゎじ! "; 
1111318116(1 1111 1. ヒ, 5, V; 

: ("!!ぉ ひ 6づ 31101*1; 丰) 0X000000 ; 

^01 0=0; ! く 5124=512: I 
3 二 1 & 0ポ; 
V りい〉 5〉 & 0x11^; 
11 ^ ((! 〉〉 10 《 0x00)1 



ホ乂1^111十十 : [^(ヒ, 5 1 V〉 ; 

二 (じ!^丄^!^^! 3ヒ0 !" I 承) 0X000000 ; 
1)11^ : (! & 1:31)11 で ; 

? 01 (!^; 1 く 256*256; 

ネヒ11ぞ十十 二 き3ま十; 



ソ〇1づ (^^― ヒ0ズ (!) はで, XI, ゲ 1, ズ2, ゲ 2, 00 

111131^6(3 1^1 XI, 乂 1, 乂2, 乂 2, 0〇1 ; 

1111; 1. 乂1611, ゲ 1611; 
1111318116(1 311011: キ 33(11^: 
ズ1611 ^ ズ2- XI ; 

乂 1611 : ゲ 2 — ゲ1 ; 

8 1*0^(1^1:3 二 001 ; 

53(113 十: 512^^1; 

ぞ 01(1=0; 1 い お 611; 1++, ミぉ!^+:ろじ) 
ズで!"— 1れ で [え]. 3(11*3 二 33(11*8; 

X む」 II バ 11 ほ ^ & X む— 1ひ で [!+丄]; 

X む ― れ 【[卜 1〕, 11^ 二 0; 
~ き : お ひ じ" 隱 8(5 ^ 0X684080; 

01 631*^1 & ?0 ; 
^1113—361:1115(1)11:0 ; 
は1113ー5 き バ) ; 
^11—001111)161:6 ; 
0丄631 "—で 13^0 ; 



乂01づ (!!!^— 861 ひ卩 0)11 で ^(!!^) 



1111318116(1 


311011: 


^511 1*3(1 1-3; 


±?13- 〉^ ぼ 


二 0x08 




(!饥 &ー〉 。。で 


: 0x9(1 






: 0x05 




(!舰ー〉。。]: 


: 0x00 




-〉 印1 


二 0x03 





^ 0x05 

^1113-^^0 : 0X05 

^3,-^0 : 0x05 

(!!!^— ,(!ほで 二 〈111151 



8116(1 01131 キ) ゎひぞ 3(11*3 ; 
01131 水^ズぞ で— III! 1 ; 



ソひぉ ^1113^31:311 

(!腿- 〉び『 卜 0x80; 



701(1 ^31 11—0011^161:60 
I 

^1)1 16(1 (き 一〉 05:!: & 



き— 〉031 : 0x1^ ; 



割り込み 



X 68000 では システムの 状態 変化 や し 51 からの サー どス慰 | 
の ほとんど は 割り込み によって 通知され ます。 ここで は, 0/1 
り 込み 動作の 概要 や 4 議门 68 に におけ る 割 り 込み べク 夕 | 
の 一覧な どに っレ , て 説明し ま す。 



割り込み 系統と レベル 割り付け 



X 68000 の 割 り 込み 系統 図 を 72 ページ 図 1 に 示 します。 

X 68000 の (:?リ であ る 68000 は, 割 り 込みに レベル 1 か ら レベル 7 までの 7 つの 優 -お 頓位 
を 与えて おり, 外部 回路 は, 要求す る 割り込み レベル を じ? リの I? し 0, I? し 1, I? し 2 の 3 本 
の 信号 線 を 使って 知らせます。 レベル は 割り込みがない 状態 を 示す のに 使用され るた め' 優 
先度 は 7 レベルまで となる わけです。 7 つの レベルの 割り込み のうち' もっとも 優先順位の 低 
いのが レベル 1 で, もっと も 高い 割 り 込みが レベル 7 となって います。 じ?1! の ステータス レジ 
スタに は 3 ビッ トの 割り込み マスク ビッ トが あり, この 1 直 以下の 割り込み は マスク されます。 
0?1! カ續 II り 込み を 受け付け ると, その 割り込み レベルが 自動的に マスク ビッ トに 反映 さォム 優 
先 順位が よ り 高い 割り込み だけが 入り込め るよう になる わけです。 ただし, レベル 7 の 割り込 
みだけ は 例外で, ステータス レジスタの マスク ビッ ト によって マスクされ ません。 この ことか 
ら, レベル 7 の 割り込み は ^1^1 (^!。!】 皿351 は ゎ16 10ぉ び リ が) とも 呼ばれます。 

X 68000 では, この 7 つの レベル を 次の よう に 害!) り 振って います。 



71 



1 割り込み 系統 図 



刚 I スィッチ 



プライオリティ 
エンコーダ 



プライ 才 リ ティ 


(し 67617〉 








低 




プライオリ ティ 


(し 6呢1 1 〉 





印 丁 4-5 舰 
1^0 




(拡張 スロット) 



72 



割 り 込み 



レベル 7 (^!^!) : 本体 上の!^] VII スィッチ 



レべ ノレ 6 

レベル 5 

レべ ノレ 4 
レべ ノレ 3 

レべ ノレ 2 
レべ ノレ 1 



: IV [?? (マルチ ファ ン クシ ヨン ペリ フエ ラル) 

[(: 尺丁じ, ? IV [音源, タイマ, キーボード など] 

: 500 (シリアル コ ミ ュニケ ーショ ンコン トロー ラ) 
[!^ 5-2320 マウス] 

: 拡張 スロッ ト 

: 01^1^0 (I)]V [八 コン ト ローラ) 

[八!)?。] VI, ? ひ 1101 
: 拡張 ス 口 ッ ト 
: 1/0 コン トロー ラ し 51 

[? !), ^!), フ 。リン タ] 



割り込み 動作 



68000 の 割 り 込み 応答 動作の 概略 を 74 ぺー ジの図 2 に 示し ま す。 

周辺 デバ ィ スが割 り 込み 要求 を 発生す る と, ① 外部 回路で 優先順位の デコー ド を 行い, 
I? し 0~2 の 3 本の 信号 線で, その レベル を じ? II に 通知し ます ②。 (:? リは 割り込み を 受け 付 
ける と, アドレス バスの 下位 3 ビット (八 1-^3〉 に 受け付けた 割り込み レベル を 出力し, 同 
時に ファンクション コード (?じ。〜?^〗) をす ベて '! !' レベルに して 割り込みへの 応答 サイ 
クルで ある こ と を 示し, 周辺 デ バイ ス から 割 り 込みべ ク タ を 読み出し にいき ます ③。 

周辺 デバイス は, データ バスの 下位 8 ビッ 卜に 割り込み ベクタ を 出力し ④, 下 八 く 信号で 
0?11 に 対 して 有効な 割 り 込みべ ク タ がデー タ バス 上に 乗って いる こと を 示し ま す⑤。 0?11 
は, このべ クタ を 読み取り, 害 リ り 込み 処理 ルーチンへの 移行 を 始める わけです。 

周辺 デバイス カ^ート ベクタ を 指定す る の 丁 八 じ!^ 信号の かわり に V? 八 信号 を アクティブ 
にす る) と⑥, 0?0 はべ クタの 読み出し を 行わず, 各 レベルに 応じた デフ オル ト のべ クタで あ 
る 519 〜あ 1? (それぞれ レベル 1 〜レベル 7 に 対応す る) を 使用し ます。 

11^ & 11 68 X は, レベル 7 の ~皿1 がォー トべク タの 31 ド を 使用す る ほか は, すべて 周辺 デ 
バイ ス 力;' べク タを 出力す る ように して 使って います。 




73 




例外べ クタ 



図 3 に 68000 の 例外べ クタと ^111^ 3 1168^ における 設定, 利用の され 方 を 示します。 これ 
らの ベクタの うち, 300 —お? まで はじ? リ デザイン を 行った メーカ (モトローラ) によって 
予約 さ れて レ 、る 領域で あ り , 周辺 デノ 《ィ ス で' 割 り 込みべ クタと して 使用す る こと は 禁止 さ れて 
います。 911111311 68 I く は, お 〜お? を] VI??, お 〜お? を ョじじ, ぁ60~363 を 1/0 コン 
ト ローラ, |64~36 8 を 隐 じ に 割り付け ています。 




000 5《《 

ド ド ド 



74 



割り込み 



図 …… 3 例外べ クタの 割り 当て 



ベクタ 番号 


ベクタ テーブル アドレス 


ベクタの 割り当て 


!" 1 リ^ 68 卜 での 使用 


10 進 


16 進 







300 




5000 000 




リセ ッ ト 後の 55卩 の 値 




1 




501 




5000 004 






〃 90 II 




2 




802 




3000 008 






、'ス エラ一 




3 




503 




5000 000 




アドレス エラ一 




4 




504 




8000010 




不当 命令 




5 




505 




8000014 




ゼロに よる 除算 




6 




806 




3000018 




ひ |~| レ 么 ふ 

し"" 叩 "[! 




7 




507 




8000010 




丁 円 ム? \ /おや 




8 




508 




5000 020 




特権 違反 




9 




209 




3000 024 




ト レース 




10 




30ム 




3000 028 




ライ ン 1010 ェ ミ ユレ 一夕 


XV 1 【 1 リリ … 化 リ 六 ~1 ノレ 


11 




50 已 




5000 020 




ライン 1111 エミ ュ レー 夕 


: 5 零 カノ 卜教 占-: 室宣 


12 




300 




5000 030 










13 




500 




3000 034 






未使用 (将来 拡張 用) 




14 




80 & 




3000 038 




リ 






15 




50 !" 




5000 030 




未 初期化 割り込み 




16- 


、 23 


310〜 


517 


2000 040 、 


050 


未使用 (将来 拡張 用) 




24 




818 




3000 060 






スプ リアス 割り込み 




25 




319 




3000 064 




レベル 1 割り込み (オートべ クタ 時) 




26 




81^ 




5000 068 






II 2 II 




27 




518 




5000 060 






1! 3 〃 




28 




510 




3000 070 






11 4 II 




29 




510 




3000 074 






1! 5 II 




30 




81 & 




8000 078 






I! 6 II 




31 




あ 1 ド 




5000 070 






II 7 II 


\ ~7 ノ "'ネ 
1 ス つ 'ノプ 


6^ 


へ: つ 


乙リ 


が 1 


^ じじ じ じ じ 




丁 3;\^0 〜丁 8 ム 97 命令 




/1 
40 




ど 




リ リ リ リハリ 




丁^^ 1^8^ 


システム 予約 


4 I 




《フ 
どコ 




リリリ リハ 4 






〃 9 〃 


08〃 の ブレーク ポィ ン ト 


4 ど 




《 ゥ八 
》 ビ八 




ゆ じじ じ じ" 






! 1 八 II 


1^0^ 〇 ド 17 リセ ッ 卜 処王里 


43 




32 已 




3000 ム 〇 






1! 8 II 


88 \ 《キーに よる 4001^ ド等 


44 




820 




3000 080 






〃 11 


00 卩丫キ 一による ハードコピー 等 


45 




320 




5000 巳 4 






II 〃 


"^し 十 による ブレーク チェック フラグ セット 


46 








る 000 巳 8 






II & 11 


エラ一 表示 (中止/再 実行/無視の 選択) 


47 




き 




3000 巳 〇 






〃 V II 


1005 コール 


48 


〜63 


330 〜 


53「 


8000 0〇0 - 


- 0「0 


未使用 (将来 拡張 用) 




64 


〜79 


お へ 


54「 


も 000100 へ 


13 








80 


〜95 


550 ~ 


き 


5000140〜 


170 






500 


96 


〜99 


360 - 


563 


本 000180 - 


180 




ユーザ 用 割り込み ベクタ 


1/0 コ ン トロ一 ラ 


100 


-107 


364 - 


868 


5000190- 








陽 


108 


〜255 


260 ~ 


- 5 に 「 


5000180-3^0 






未使用 




割り込み ベクタ 設定 ポート 



周辺 テン ^ ス ごと に 割 リ 込みべ ク タ を 設定す る ポー ト を 探す の は 面倒です ので, 図 4 に 各 周 

辺 テン 《ィ ス ごと に 割 り 込みべ ク タ を 設定す る ポートと, 68 X による 設定 値 を まとめて 
おきました。 



耻 



4 割り込み ベクタの 設定 ポート 



し 5 1 


ァ ドレス 


匕 は7 1)110 




8 & 88017 


1 I 
? 


割り込み 要因で き 


ぼ, 


500 


5 & 98003/7 
(書き込み レジスタ 2 〉 










〇4 
#0 


請 


3 & 84025 








& IV 


5 & 84027 








01-1 
^1 


隱 


3 巳 84065 




円 




口 V 


5 & 84067 




円 




〇闩 
せ 2 


曙 


5 & 840/^5 








巳 IV 










04 
#3 


晴 


5 & 840 & 5 








巳 IV 


5 & 840 & 7 








1/0 コントローラ 


5 & 90003 




割り込 
で変ィ 


み 要因 
匕 お 



: 任意 設定 可 



6 鬧 
^1 円 

タイマ I 
タイマ' 
き 4 

タイマ: 
送信 ェ 
送信 パ 
受信 ェ 
受信 バ 
タイマ, 
6 円? 6 
0^1?7 



プリンタ 



76 




概要 



IV!?? (マルチ ファンクション ペリ フエ ラル 1VI^68901) は, カウンタ/タイマ' シリア ルポ 
一 ト や 汎用 1/0 ポー ト など を 1 つの し 51 の 中 に 入れた も のです。 78 ぺー ジの図 1 に IV!?? の 
内部 プロ ッ ク 図 と 乂68000 での 接続 状態の 概略 を 示し ま す。 ^?? 内部 は, 4 つの タイマ, 1 チ 
ャ ン ネルの シ リ アル ポー ト, 8 ビット 分の ひ ぼ) 1/0 ポー ト を 持つ て お り , X 68000 は (:尺丁じ 
からの 割り込み や 電源 0^ の 要因 判別, キー ボー ド との イン タフ ヱース などに 使用して います。 




の 各 機能の 割り付け 



IV!?? の 持つ 各 機能 を X 68000 では どのよう に 割 り 付けて いる 力、 かんたんに 見て お 、 し と 



タイマ や 汎用 1/0, シ リアル ポー ト など を 1 チ ップに ま とめ 
あ げた は, キ 一 ボー ドの ほか, 定 周期に 発生 する タイマ 
割 I〗 込み, じ8 丁 (: や 音源, 8 丁 じの アラーム 信号な ど, 雑 
多な ステータスの 取 り 込みに 使用され XI 、ま す。 



77 



タイマ 八 



丁み 



タイマ 已 



タイマ 



タイマ 



受信 パン ファフ ル 



割り込み 制御 



送信 バッファ I ンブ ティ 



受信 コ 



送信 エラ一 



じ 5 八 8 丁 
(シ リ アル 
ポート) 



(汎用 1/0〕 \ 



- 015? 信号 



(未使用) 



1 



"! (未使用) 



う (未使用) 



(レシ 一八' クロック) 
(トランス ミッタ クロック) 
レシ一 ハ' レディ 



ミッタ レディ: 未使用) 



シリアル 入力 



キー ボー ド 



シリアル 出力 



一^丁 (: の^し^ 言"^ I 二よ る @ミ 原 0~ 
一 拡張 スロッ トの已 ズド0 川に よる 電源 
~ 「0\^ ^スィッチ による 電源 01^ 
, 「リ 音源の 割り込み 要求 信号 



^ ^ 未使用) 

(^化の 1叩 (割 り 込み 要求 信号) 

(^丁 じ の ド-ョ丫^: 信号 



にし ましよ つ。 

4 つの タイマの うち, タイマ 8 はキ一 ボ一 ド との 通信 を 行う シリアル ポートの 伝^ 度 を 決 
める クロック として 使用され ています ので, 設定 や 8 力作 モード を 変更したり すると, キー ボ一 
ド 力 3 ' 使え なくなって しまいます。 その他の タイマ は ハード 的に は 用途 は^^ 定 されて いません。 
II し 111130 68 X では タイマ (: を 力一 ソルの 点滅 や ? 00 の モータ 停止 タイ ミン グの 作成な ど に, 

タイマ!) は 乂ぱ 5 ;0112^ 以降で 疑似 マルチ タスク 動作 川と して 使用して います。 

タ ィ マ^の 制御 線で あ る 下 八 I 入力 に は, (^丁 が 出力す る 乂-013? (垂直^ 期間) 信号 
が 入って いますので', 乂- 013? 信号の 変化した^ 数 を カウン ト して, 一定 回数 ごとに 0?リ に 

78 



1 "ド卩 の 内部 フ 口 ッ ク図 



^1068901 



3^ 



萆 り 込み 出力 



割り込み を かける ようにしたり, 乂- 015? 信号の 周期の 測定 を 行う こと も 可能です。 

IV!?? のシ リ アル ポー ト はいく つもの 動作 モー ドを 持って います 力く X 68000 では 接続す る 
相手が キー ボー ドに 限定され ています ので, キー ボー ドの 通信 モー ド にあわせた 設定で 使う こ 
とに なリ ます。 

0?1? 0~0?1? 7 の 8 つの'; 凡 用 1/0 ポートのう ち, 未使用 となって いる 5 以外 はす 
ベて 入力 ポートと して 使われて います。 5 は 外部で^ レベルに 固定され ています ので, リ 
一 ド する と, つねに 丁 力 嗜, み 出されます。 



!^ド卩 の レジスタ 一覧 



IV [?! 3 の レジスタの 一覧 を 80 ページの 図 2 に 示します。 

IV!?? の レジスタ は 52 88001-32 8802 ? 番地に 配置され ています。 レジスタ はすべ て 8 ビ 
ット 長で あるた め, 奇数 番地 (ワード アクセス 時の 下位 バイ ト) のみと なります。 IV [?? の レジ 
スタ のう ち, 0?1? の 制御に 使われる の 力 12 88001-32 88005, 割り込み 制御に 使われる のが 
52 88007 〜犯 88017, タ ィ マ 制御 用が 32 88019 〜犯 88025, 05^1 (シ リ アル ボー ト 〉 制 
御 鍾^ & 88027-52 8802 ド となって います。 

1^?? の レ ジス タ は, ステータス 入力 や 一部の キ^な 機能 を 持たせた も の 以外 は 基本的にす 
ベて ライ ト /リードと も 可能と なって います。 図の 中で 斜!^ が 引いて ある ビッ トは 射贞 用です。 
5^ 用 ビット は リードす ると 'り 'カ^^み 出されます。 ライト 時 は' 1,, '!) 'のい ずれで も かまい 
ません 力、 と く に 意味の ないか ぎ り , 他の し 31 な ど と 同様, で' にしておく の 力 ^ 普通で しょう。 



6 円 れ 汎用 1/0 ポート) 



〇?1? の 制御に 関係す る レジスタの ビッ ト 配置 を 81 ページの 図 3 に 示します。 の 制 
御用の レジスタ は, 0?1?, 八 68, 001? の 3 つが あり ます 力、 どれ も 同じ ビッ ト配遛 です ので, 
図 は 1 つに まとめて おきました。 




# 4 



79 



図 …… 2 IV! 「户の レジスタ一 覧 



種 別 


アドレス 


略称 


1)117 13110 


レジスタ 名 


制 御 


3 & 88001 




0ぼ 
7 


6 




4 


3 




1 





汎用 1/0 レジスタ 




3 


ム& 


円? と 同様 


ァク ティ フ' ェ ッジ レジスタ 




5 


008 


091? と 同様 


データ 方向 レジスタ 




5 & 88007 


1 巳^ 


0ぼ 


。ぼ 
6 


ノ.' ィ --' 
み 


バッファ 
フル 


受信 
エラー 


く ソファ 
I ンプ ティ 


^(言 
エラ— 


タイマ 
8 


割り込み イネ一 ブル レジスタ 六 






9 


1 & 88 


5 


0円卩 
4 


タイマ 



クイ -' 



ぼ 
3 




ぼ 
1 





割り込み イネ 一 ブル レジスタ 8 






巳 




1 と 同様 


割り込み ペン ディ ング レジスタ み 











1 匚 1=1 巳と 同 畠 


割り込み ペン ディ ング レジスタ 8 


割り込み 
制御 




1^ 


138^ 


と 同様 


割 り 込み ィ ンサ一 ビス レジスタ^ 


8 & 88011 


15^8 


^ 1 ~~ 1 ~~ I ~~ 1 1 ~~ 1 ~~ 1 
1 & 闩 巳と 同様 


割 り 込み ィ ンサ一 ビス レジスタ 8 






3 


圆ム 


に 3 ムと 同様 


割り込み マスク レジスタ 六 






5 


議 8 


1 1 & 63 と 1 同様 1 


割り込み マスク レジスタ 8 






7 


ソ闩 


\11 


ソ6 


ソ5 


乂4 


5 




ベクタ レジスタ 




5 & 88019 


丁 八 〇^ 








リセ ツ ト 

丁ム 




八 02 


^01 


^00 


タイマ/ \ コント 口一 ル レジスタ 






8 


丁 巳 〇8 








リセ ッ ト 


803 


802 


801 


800 


夕 イマ 8 コント 口 一ル レジスタ 


タイマ 

制御 







70008 




002 


001 


000 




002 


001 


000 


タイマ コント ロール レジスタ 






丁^ 08 


07 


06 


05 


04 


03 


02 


01 


00 


夕 イマ 六 データ レジスタ 


5 & 88021 


丁 巳 08 






丁 


へ 闩 


ヒ同も 


X 






タイマ 8 データ レジスタ 






3 


丁 003 


丁ム 08 と 同ネ策 


タイマ (: デ一 夕 レジスタ 








700^ 






丁 


〜03 


ヒ同も 


1 






タイマ データ レジスタ 




5 & 88027 


508 


07 


06 


05 


04 


03 


02 


01 


00 


5 丫! \1〇 キャラクタ レジスタ 


じ5;\ ^丁 
制御 




9 


リ 03 




き 1 


動 


57! 


570 




^0 




じ 5服 丁 コントロール レジスタ 




巳 


338 


巳^ 


〇 巳 






ド/5 
0「 6 


れ 1 

01 卩 


55 


闩& 


レシ 一パステ一 タス レジスタ 







丁^ 


6 巳 


11 巳 


^丁 




8 






丁& 


トランス ミッタ ステータス レジス 夕 








リ 08 


07 


06 


05 


04 


03 


02 


1 


00 


リ5^6 丁 データ レジスタ 



| 0卩| ドレ ジス タ 



レジスタ は, 0?1?0〜0?1?7 の 各ビッ トの 状態 を 読み出したり, 出力 データ を 寄き 
込む レジスタです。 X 68000 では 0?1? 0〜6?1? 7 のす ベて を 入力 と して 使います ので, この 
レジスタ は リードの みとな り ます。 次に 各 6?1? ビッ トに 接続され ている 信号の 説明 を してお 
きましょう。 

0?1?7 に は (^丁 (: の 11- 3 丫] ^じ (水平 同期) 信号 力 や 接続され ています。 '!' で' (:尺丁じ;^ 水 
平 同期 期間で あ る こと を 示します。 



80 



【卩 



き 図 …… 3 691^,^^,00^ の ビット 配置 〖3 已 88001, 5 巳 88003, 蛇"!^) 



I "(- 5, 


01^ 






「隱 


^0^ 


已 ズド01^ 


ムほ! VI 



つねに 卞 



8 丁 (:!; 時計) の 六"^! 
ザ 舌"^" 

1:;\ し/^!! VI 力く'' 4 '(通常) 
: ムひ^ /1 が' ピ 



ひド0リ 信号の 状態 

1 : ^^0^1 が' に (通常) 
: ひ 剛力 《'じ 



本体 前面の 電源 スィッチの 状態 
1: 電源 スィッチ 0「 ド 
: 電源 スィッチ 0リ (通常) 



^音源に の 割 り 込み 要求 信号 
1: 割り込み 要求な し 
0: 割り込み 要求 中 



(^丁 (: の 乂-!^^ 信号の 状態 

1 : ゾ- 015? 信号が 'ば (垂直 表示 期間) 
01-01^ 信号が' ピ 〔 〃 帰 線 期間) 



(^丁 の 割 り 込み (ラスタ 割 り 込み) 要求 信号の 状態 
1: 割り込み 要求な し 
0: 割り込み 要求 中 

。^丁 。の!" 1—3 丫^ 。す 言"^ の; 1 犬, 

1 : 4-5 丫!^ 信号が' ば (水平 同期 期間) 
0: 4-3 丫 1^ 信号が' し' 



(^『レジスタ 
八 巳^ レジスタ 



008 レジスタ 



各 信号の 状態が そのまま 読み出せる 

各 信号 ごとに, 割り込み を 発生させる 変化 方向 を 設定す る 







各 信号 ごと 
: 入力 
1 : 出力 



リ 'の 変化で 割り込み 発生 
,0 'の 変化で 割り込み 発生 
こ 入力/出力の いずれで 使う 



のか を 設定す る 



0?1? 6 は 尺 IX: の ラスタ 割り 込み 信号 か 接続 されて います。 ,0 'で 01^X0 がラ スタ 割り込 
み 要求 を 発生して いる こと を 示します。 ラスタ 割り込み 機能の 詳細 は, (:!^ 丁 (: の 説明の 章 を 
参照して ください。 

0?1?5 は ぉ吏 用ビッ ト です。 外部で II レベルに 固定され ている ため, 0?1?5 は, つねに' 1, 
が 1 売み 出されます。 

0?1? 4 は 0!^丁0 の 乂- 013? (垂直 餘 期間) 信号 カ镞 続され ています。 ,1 'で 垂直 表示 期間 
である こと を, ,0 'で 垂直 帰 線 溯 間で あ る こと を 示します。 



81 



0?1? 3 は 音源 10 からの 割 り 込み 要求 信号です。 で 'で VI 音源からの 割 り 込み 要求が 
発生して いる こと を 示します。 

0?1?2, 1, は 乂 68000 の 電源が 01^ [になる 要因 か 接続され ています。 X 68000 は, 本体 
正而の 電源 ス イッチに よ る 通常の 01^/0?? の ほか, 拡張 ス ロットの リモート 電源 0ぺ 信号 や 
本体 背面の リモート き (- 〈 こ の 両者 は 同 じ 信号 として 扱われて います), 1^X0 (リアルタイム ク 
ロック: 時 31ぅ の 八し 八!?] VI 信号な どで 電源を入れる こ とがで き るよう になって います。 

このため, X 68000 では 電源が 01^ と なった 要因 を ソフト ゥ エアで 判定で き るよう にして い 
る のです。 本体 正面の 電源 ス イッチが 0^ [になって いると 0卩1? 2 力;', 拡張 ス ロット ゃリ モー 
ト^?" が' 乙' (電源 リ状 態) になって いると 0?1? 1, リアルタイム クロックの 八し 八!^! 信 
号が 八し 八! ^/[状態に なって いる と が, それぞれ' 'にな り ます。 



2 八ョ ^ アクティブ エッジ レジスタ) 



0?1? は, どの ビッ ト も ,0 'から 1,, あるいは 1 'から ,0 'への 変化で 割り込み を 発生す る こ 
と がで きる ようになって います。 八 2 尺 は, 各 ビットごと にい ずれの 変化で 割 り 込み を 発生す る 
か を 指定す る レジスタです。 1 'にす る と 'ひ' から' 1 'への 変化で, で 'にす る と 1 'から' 'への 変化で 
割 り 込み を 発生す るよう になります。 ^2 尺 の I? 3 と 0?1? 4 の ビット は, タイ マの 制御 1 信 
号の 割り込みの エッジ 設定と 兼用に なって います。 この 点に ついては, タイマの ところで '説明 
します。 



3 ひ:)?^ データ デマレ クシ ヨン レジスタ) 



0?1? の 各ビッ ト ごとに 入力と して 使う 力、 1 屮 I 力と して 使う か を 設定す る レジスタです。 丁 
で 出力, ,0 'で 入力と なり ます。 

X 68000 では, 0?1? はすべ て 入力 ポー ト と して 使います ので', 00 & は 全ビッ ト と も ,0 'を設 
定 します。 



82 



ぼ! 3 




割り込み 制御 



IV [?? の 割 り 込み 制御に 関係す る レジスタ を 図 4 , 図 5 および 図 6 に 示します。 
^1?? は 16 種顛の 割り込み 要因 を 持って おり, これが 8 ビッ ト X 2 本の レジスタに 配分され て 
います。 割り込みの 優1 順位 は 固定で, 0?1?7 (!!- 5?~0 が もっとも^ く, 以下, レジス 
タの ビット 並び どおり 0?1?6 にほ!^), タイマ^ …… と 続き, 0?1?0 (八し 八 尺] VI〉 が もつ 
とも 低くな つてい ます。 



4 旧!^ \, !?^, 15^ 1171^(56: 88007 5 5 匚 8800 8, 56: 8800 「, 5 日 88013) 



!" 1-3 舰 


01^0 


タイマ 八 


受信 

ハ' 'ソファ フル 


受信 
エフ一 


送信 バッファ 
ェンプ ティ 


送信 
エラ一 


タイマ 8 



タイマ 8 力、 らの害 !] り 込 
み 要求 

リ^ (: の 送信 エラ一 割り込み 

ぼ 50 の 送信 バッファ ェンプ ティ (送信 デ一タ 
書き込み 要求) 割り込み 

受信エラー 割り込み 

!^!ド冗 受信 バッファ ェンプ ティ (受信 データ 読み取り 要求) 割り込み 

タイマ^からの 割り込み 要求 
^丁 の 割り込み (ラスタ 割り込み) 要求 

(^丁 0: の 4-5 丫^ (水平 同期信号) による 割り込み 



, 1^ : 割り込み 発生の 許可/禁止 を 制御す る 
1 : 割り込み 発生 許可 
: け 禁示 

~ \ : 割り込み 要泶が ペン ディ ング (保留) されて いる こ と を 示す 
1 : 割り込み 要求が ペンディングされ ている 
: 〃 されて いない 

, 15^ : 割り込み 要求が 処理 中 (イン サービス) である 
1 : 割り込み 要求 は 処理 中で ある 
: 〃 ではない 

^ 1!^^: 割り込み マスクの 制御 を 行う 

1 : 割り込み 要求 を マスク しない (割り込み 発生 可) 
: I! する 〔 II 不可) 



83 



^ 図 …… 5 『8 巳, 156 日, 11^9 巳 (乐 巳 88009 1 5 匚 8800 0, 55: 88011, 5 巳 88015) 





V - 01 が 


夕 イマ 


タイマ 


「圆 。 


? 0^ 5^ 


巳 X, 





10^1? 55 (ぼ 旧 4〕 



は円 ド 3) 山円! 3 2》 は円ド 1 〉 (^?\? の 



6丁0 の/ \し佃171 信号に 
よる 割り込み 

三 スド0 [^信号に よる 割り込み 

本体 前面の 電源 スィッチ による 割り込み 

[^! 音源 にか らの 割り 込み 要求 

タイマ からの 割り込み 

夕 イマ からの 割り込み 

(^丁 (; の 乂-ひ^ (垂直 表示 期間) 信号に よ る 割 り 込み 



, 1^8 : 割り込み 発生の 許可/禁止 を 制御す る 
1 : 割り込み 穽生 許可 
: け 禁止 

, 1?昍 : 割り込み 要求が ペンディング (保留) されて いる こと を 示す 
1 : 割り込み 要求 は ペンディングされ ている 
: I! されて いない 

, 15^8 : 割 り 込み 要求が 処理 中 (ィ ンサ一 ビス) である こと を 示す 
1 : 割り込み 要求 は 処理 中で ある 
: ! I ではない 

^ 旧 昍: 割り込み マスクの 制御 を 行う 

1 : 割り込み 要求 を マスクし ない (割り込み 発生 可) 
: II する 〔 II 不可) 



秦 図' 



6 ソ卩 (ベクタ レジスタ) 3 巳 88017 



V 7 


V 6 


V 5 


V 4 


5 





割り込み ベクタの 上位 4 お 
(下位 46 はは, IV! 「「内の 割り込み 要因に よって 

決まる) 



'イン サービス レジス 夕 イネ一 フリレ 
1 : ソフ トウ エア 巳 01 モー ド 

(イン サービス レジスタ 有効) 
: オート ビ 01 モー ド 

(イン サービス レジスタ 無効) 



84 



"ド? 



01 旧 8 八/ 1588 (割り込み イネ一 フル レジスタ 八 ズ8〉 



121^/121^8 は, 害 リ り 込み 発生の 許可/禁止 を 制御す る レジスタです。 ,1 'にす ると 該当する 
信号に よる 割り込みの 発生が"! 午 可さ^ で 'にす る と 禁止され ます。 



0*2 



『8 八 /1 卩 割り込み ペンディング 
レジスタ 八 /已) 



1?^1?^8 は, 割 り 込み 要求が ペン ディ ング (保留) されて いる こ と を 示す レジスタです。 
I? 尺八 ノ1?尺13 は, ^?? 力 嘲] り 込み 要求の きた こと を 認識す る と' 1 'となり, 0?1; に 該当する 割 
り 込み 要求 力ぶ 伝えられた (割り込み ベクタ を 渡した) ときに' 'に 復帰し ます。 つまり, 丁が 立 
つてい る 状態 は, 害 リ り 込み 要求 力 5 ' 発生した ものの, まだ (:? リに 割り込みと して 伝わって いな 
いという こと を 示して いる わけです。 

I? 尺八 /1? 尺 8 の 各 ビット は, によって 割り込みの 発生 か 禁止され たり, じ? II 
が I? 尺八 /1? 尺 8 の 該当 ビ ッ 卜に' 'を 書き込む ことによ つても で 'にな り ます。 



@ 3 158 八/ ぼ闩ぱ イン サービス レジスタ 八 



該当する 割 り 込みが サー ビス (処现 〉 中で あ る こと を 示す レジスタ です。 IV!?? か ら じ] 3 II に 
対 して 割 り 込みが 伝え られる に? リ にべ ク タ を 引き渡す) と, 該当する ビ ッ ト が' 1 'にな り , 0?11 
か 該当する ビッ ト を' 'に した データ を 158^/15 尺 8 レジスタに 書き込む と' 'にな り ます。 

IV!?? は, このような ソフ トウ エアに よる サービス 終了 通知 〈201 : で ヒぉびひ が と 呼 
びます) の ほか, 自動 201 モードに プログラム する こと もで きます。 このと き, IV!?? は 
にべ クタ を 渡した 時点で サービス 終了と みなします ので', 15 尺八/ 151^6 の 該当 ビッ トも 即座 
に' 'に 復帰し ます。 

15^/15^8 が' 'で 1?1^\ダ1?88 が' 1 'になる と, IV!?? は 該当する ビッ ト の 割 り 込み 要求 
を 行います。 つま り, 自動 201 モー ドの 場合に は, 連続して 同一の 割り込みが 入って くる こと 
も 可能で ある わけです。 

IV [?? を ソフトウェア 201 で 動作 させる 力、, 自動 201 で 重が 乍 させる か はべ クタ レジスタで 
設定し ます。 詳細 は, ベクタ レジスタの 説明 を 見て ください。 



85 



I !^!^/^闩田 インタラプト マスク 
レジスタ 八 /曰) 



割り込みの マスク 制^! を 行う レジスタです。 ,1 'だと 割り込み 発生が 可能に なり ます。 
12 尺 8 レジスタ とよく 似た レジスタです。 両者の 違い は, 割り込みの 発生 を 禁止 (で 'を 設定) 
している 間に 新たな 割り込みが 入った ときに IV!?? が どのよ う に 振る舞う かに あ り ます。 

121^/1288 が' 'になって いると, この間の 割り込み 要求 は 完全に^ されます。 11\4!1 八/ 
【IV [腦 ま, たとえ' 'になって いても, 121^/121^6 が 1 'になって さえ いれば, は 割り込 
み 要求 を 受け取り, 1?1^\バ? 尺 8 の 該当 ビッ トを' 1 'にします。 その後, I]V ^八 バ1\^13 の 該当 
ビッ トが' 1 'になった 時点で 0?1; に対して 割り込み を 発生し ます。 

121^^/12^8 は 割 り 込み 要求の 発生 元 を 抑え てし まう もの, 【IV [尺^ は IV!?? か ら 
の 割 り 込み 要求 出力 を 抑える だけの ものと 考え る と わか り やすし 、か も しれません。 







'"! ベクタ レシ スタ 



IV!?? 力 《じ? I; に 割り込み 要求 を かける ときに 出力す る, ベクタ 番号の 設定な ど を 行う レ ジ 
スタ です。 出力され る 8 ビットの ベクタの うち, -ヒ位 4 ビット を レジスタの ビット 4 から ビッ 
ト 7 で 設定し ます。 ベクタの 下位 4 ビット は, IV!?? の 割り込み 優 -先 度と 同じ 順序に なって お 
り, 1111 'が もっとも 践 度の 高い 0?1? 7 で, 以下, 0?1? 6, タイマ 八 …… と 続き, もっと 
も 駐 度の 低レ ^ 0?1? が' 0000, となって います。 

ベクタ レジスタの 3 ビッ トは, 割り込み に対する 201 の モー ド をソフ トウ エア 201 とする 
か, 自 動 201 にす る か を 選択す る ビット です。 

この ビッ トを' 1 'にす ると ソフ トウ エア 201 モー ド となり, ィ ン サービス レジスタの 該当 ビ 
ッ ト はじ? I; による 割り込み 受付 後, 201 処理 (巧 尺八/ 151^8 の 該当 ビッ トに' 'を 書き込む) 
が 行われる まで' 1 'となり, 割 り 込みが サ一 ビス 屮 であ る こと を 示す の に 使 川 されます。 

5 ビット に' 'を 設定す る と 自動 201 モー ド となり, 割 り 込み 要求が 0?11 に 受け付けられた 
時点で 201 された ものと みなします ので', 13 尺八/ 15^8 の 各ビッ トは 意味 を 持た なくなり ま 
す。 



86 



【卩 



6 



タイマ 



^卩卩 は, タイマ 八から タイマ までの 4 つの タイマ を 持って います。 このうち, タイマ (: と 
は, 単純に 入力され た 周波数 を 1/リ に 分周す る ディ レイモー ド 動作し かで きません が, タイ 
マ 八と タイマ 8 は, 専用の 入力 端子 (丁 八 1/ 丁 80 を 利用して, 入力^の 状態 カ喷 化する 間隔 
の 測定 (パルス 幅 測定 モ一 ド) や, 変化の 回数の カウント (イベント カウント モード) など を 
行わせる こと もで きる ようになって います。 



1 タイマの 動作 モード 



IV!?? の タイマ 力ぐ 待つ— 動作 モー ド のキ既 略 を 88 ページの 図 7 に 示します。 図の 中で 8 ビッ トカ 
ゥンタ となって いると ころが じ? II によって 値 を 読み書き する ことので きる カウンタで, この 
レジスタの アクセス によって 任意の 周波数 を 得たり, 経過 時間 ゃィ ベン トの 回数の 読み取り を 
行います。 この 各 動作 モードに ついて 説明して おく ことにしましょう。 



01 



ディレイ モード 



ディ レイ モード は, 任意の 周波数 を 得たり, 一定 周期で 割り込み を 発生す るよう な 用途に 使 

用され る モー ド です。 カウンタが ディレイ モードに" /ログ ラムされ ると,] VI ?] 3 は 8 ビット カウ 
ンタの クロックに プリ スケ ーラの 出力 を 接続し ます。 プリ スケ ーラ というの は, 入力され た 周 
波 数 を 固定 比率で 分周す る ものです。 IV [只? は, プリ スケ ーラの 分周 比 を 1/4, 1/10, 1/16. 
1/50, 1/64. 1/100, 1/200 の 中から 選択で きる ようになって います。 

X 68000 では プリ スケ ーラ への 入力と して 4^1-12 の クロック を 与えて いますので, たとえ 
ば, プリ スケ ーラの 分周 比と して 1/100 を 選ぶ と, 8 ビッ ト カウンタに は 4^^2/100=40 
1^112 の クロック 力ぶ 与えられる ことにな り ます。 クロックが 1 回 入る たびに 8 ビッ ト カウンタの 
値 は 減って いき, 値が 301 になる と, 次の クロック パルスで タイマ 割り込み を 発生 させ, さらに 
タイマ 出力端子 (丁 八 0ズ 丁] 313/ 丁 下 !)。) の 状態 を 反転させます。 8 ビッ ト カウンタに はタ 
イマ データ レジスタの 値が 自動的に 再 ロー ドさ札 ふたたび カウン ト 力 5 ' 始ま り ます。 したがつ 
て, # 的な 分周 比 は, プリ スケ ーラと タイマ データ レジスタに セットした 分周 比の 積に なり 



87 



き 図 …… 7 IV! ド! 3 の タイマの 各 動作 モー ド 



- タ ィ マ 八/ 8/0/0 
割 り 込み 



(細 力 





プリ スケ ーラ 




81? は カウン 夕 






千 2 













丁ム 1/181 ~ 



ディ レイモ一 ド 



丁 六 1/781 



ベルス 幅 測定 モード 



丁 八 0/780 
一 丁 00/1X10 




割り込み 



タイマ 4/8 割り込み 



丁^ 0/180 



割 り 込み 



- タイマ/ \ズ8 割り込み 



丁 八 1/78 卜 





8611 カウンタ 




^ 2 















- 7*0/180 



イベント カウント モード 

プリ スケ一 ラ: 分周 器 

-4-4.4-10. +16, 士50, ^64 1 +100, 十200 力、 ら 選択 可 



ます。 

たとえば, プリ スケ ーラ として 1/100 を 選び, タイマ データ レジスタに 400 をセッ ト すると, 
8 ビット カウン タの 出力 は 4 IV [ト IV ("^(^ 10(0 二 100 9 2 と な り , 10 爪3 お き に 割 り 込みが 発 
生す る ことになります。 タイマ 出力^?" はこの 周期で 反お する わけです から, 出て くる 周' 波 数 
はさら にこの 半分の 50 82 となります。 

タイマ 八と タイマ 8 に は 制御 入力 と して 丁 八 I と 丁 81 が あ り ます 力、', この モー ド では 使用 さ 



88 



^9 



れ ません。 



02 



パルス 幅 測定 モード 



パルス 幅 測定 モー ドは, 了 八 1/ 丁 81 入力 力 や 指定され た レベルで ある 期間 だけ タイマ 力 5 勒く よ 
うにす る ことで, 入力され た 信号の パルス 幅 レベルな いしし レベル 力 41 いた 時間) の 測定 
が 行える ようにした モードす。 この モード は, タイマ 八と タイマ 8 だけで 利用 可能です。 
X 68000 では 181 端子 はし レベルに 固定され てし まってい ますので, 実際に この モー ドが利 
用で きる の は タイマ 八 だけにな り ます。 

ノ、 。 ルス 幅 測定 モードで は, タイマの スタート/ストップ を 丁^ I, 丁 81 入力で 行い, タイマ を 
ス ト ップ させた とき, すなわち, 測定の 完了 時に じ?1! に 割り込み を かける ことができ ます。' ョ' 
と '乙' のい ずれの レベルで 力 ゥン タス タートと する 力、 は, 八 2 尺 の 0?1? 4, 0?1? 3 の 設定に よ 
つて 決ま り , 発生す る 割 り 込み は タイ マ 八が 4 タ イマ 8 が 0?1? 3 の 割 り 込みに な り ま 
す。 つまり, タイマ 八 は 0?1? 4 の 割り込み 漏 を, タイマ 8 は 3 の 割り込み 難 を 乗 
つ 取る よ う なかた ちになる わけです。 このため, タイマ 八 を パルス 幅 測定 モー ドに する と 
I? 4 の 変化に よる 割り込み 発生が, タイマ 8 を パルス 幅 測定 モー ドに する と 0?1?3 の 変 
化に よる 割り込み 発生 力 《 行え なくなり ます。 もちろん, この場合 でも, 0?1? レジスタで 
の 状態の 読み出し/設定 〈X 68000 では 0?1? は 読み出し 専用です が) は 行えます から' たんな 
る 1/0 と して 利用す る こと は 可能です。 

八 21? で' 1 'か^: 定 されて いると, 丁 八 1/ 丁 81 入力が' II 'レベルで タイマが スタート し, 'し' レべ 
ル になる と ス ト ップ する とともに (:卩じ に 割 り 込みが 入 り ます (通常, 用 と して 使って い 
る 場合, 八 2 只 力ぐ 1 'になって いると, でから' II 'への 変化で 割り込み 発生と なります が, パルス 
幅 測定 モー ドの と き に は, ,1 'にす る と, ^'から' し' への 変化で 割 り 込み と な り ますので 注意 して 
ください)。 

また, ノ 、'ルス 幅 測定 モー ドは, 基本的に タイマ スタート/ ス ト ップ 制御が 外部 信号で 行われる 
ディ レイモー ドと 同等です から, カウント 力 101 になった 次の カウン トク ロックで タイマの 割 
り 込み も 発生し ます。 このと き, タイマに は タイマ データ レジスタの 1 直が 自辦 勺に 再 ロード さ 
札 タイ マス トツ プ制 御が 行われる まで カウント を 続け ま す。 

測定が 終了 し, 再度 パルス 幅 測定 を 行う 場合, 0?0 はタ ィ マ データ レ ジス タ に 値 を 再 書き込 
みします 力、 このと き, 制御 入力 (丁^ 1/ 丁 81〉 が アクティブ (八 2 なが' 1 'なら' II 'レベル, で' 
なら' 乙' レベル) になって いない こと を!; 宦認 してく ださい。 アクティブな ときに 書き込み を 行う 
と, カウンタに 正しい" (直が ロー ド されない 場合が あり ます。 



89 



03 



イベント カウント モード 



この モード も, タイマ^と タイマ 8 だけが 使用可能です。 イベント カウント モード は, 丁 八 I 
や 丁 81 の 入力 を クロック として 8 ビット カウンタ を 動作させる モ 一 ド です (当然の こ と なが 
ら, プリ スケ ーラは 使用され なくなります)。 入力の どちら 方向の 変化で カウント を 行う か は, 
パルス 幅 測定 モー ド と 同様に, 八 2 尺 の 0?1? 4/0?!? 3 で 行います。 

カウンタの 値が 301 になった 後に カウン ト パルス 力 5 ' 発生す る と, (:?リ に対して 割り込み (タ 
イマ 八/ タ イマ 8 の 割 り 込み) を 発生す る とともに, タイマ カウン トレ ジス タの 値が 自動的に 再 
ロード されます。 

X 68000 では 丁 八 I 入力 に V-0I3? 信号 か 接続され て お り , ヨリ 111311 68 I く は タイマ 八をィ 
ベント カウント モー ドで 使用して います。 



0-9 タイマ 関連の レジスタ 



タイマ 制御 を 行う ための レジスタ は, タイマの 動作 モー ドを 設定す る タイ マコン ト ロー ルレ 

ジス タと, 8 ビッ ト カウンタの!; の リード/ライ トを 行うた めの タイマ データ レジスタの 2 種 ま 1 
に 分類で きます。 このうち, タイマ (: と タイマ は ディ レイ モードで しか 勅 作で きない こと も 
あって, コントロール レジスタ は 1 本の レジスタに): ト 18 してし まっています。 



01 



タイマ/ \ズ タイマ 8 コントロール レジスタ 



タイマ 八と タイマ 8 のコン トロール レジスタの ビッ ト配; ほ を 図 8 に 示します。 

下位 4 ビッ ト は, それぞれの タイマの 動作 モー ドを 指定す る ものです。 で000 'の ときには タ ィ 

マス トップと なり, タイ マ 動作 か 禁止 さ;^' 1 000 'の ときには イベント カウント モードと なり ま 

す。 下位 3 ビッ 卜が' 000 '以外のと き は, ビッ ト 3 力ぐ 'だと ディ レイ モード 力、 1 'だと パルス 幅 

測定 モードが 選択され ます。 
ディ レイ モード や パルス 幅 測定 モードの ときには, 下位 3 ビッ トでプ リス ケーラ の 分周 比 を 

選択し ます。 

ビッ ト 4 は, タイマ 出力端子 である 丁^ の/ 丁 80 の 出力 を 強制的に ク リアす るた めの もので 
す。 この ビッ ト を' 1 'にして 寄き 込む と, タイマ 出力端子の 状態 力 3 ' 強制的に'!; レベルに なり ます。 
この 機能に よる ク リ ァは じ? リ による 書き込み 動作の 期間 だけ 有効で, ク リ ァ後, 次に 8 ビット 



【! 3 



^ 図. 



8 丁ム に 丁 808(55 88019,^:8801 巳) 



丁^ 




さホ 

、- 
マ 


^03 


^02 


卜 1 


;\ 








780^ 




リセット 

丁 80 


巳 3 


已 じ 2 


8 1 


8 



タイマ 出力 (丁ム 0, 丁 80〕 リセット 1 

1 ; タイマ 出力 ピンの 状態 を' じに 
設定す る 

: 通常 動作 



タイマの 動作 モ一 ド 

1111 : パルス 幅 測定 モード 
1110: 
1101 
1 100 
1011 
1010 
1001 
1000 
0111 
0110 
0101 
0100 
0011 
0010 
0001 
0000 



ディレイ モード 



200 プリ スケ一 う 

100 I! 

64 II 

50 II 

16 I! 

10 〃 

4 II 

200 プリ スケ一 ラ) 

100 II 

64 II 

50 II 

16 II 

~ 10 II 

~ 4 II 



タイマ スト ッフ 



カウンタからの カウント アップ パルス が く れば, 通常 動作 ど お り 出 力 は 反転 されます。 タイマ 
出力が' し, の 状態から 動作 開始 させたい ような ときの ために あると 考えれば よいでしょう。 



02 



タイマ & コントロール レジスタ 



々イマ (: と タイマ!) のコン トロール を 行う レジスタの ビッ ト 配置 を 92 ページの 図 9 に 示し 
ます。 タイマ の 動作 モードの 選択 を ビット 〜ビット 2 で、, タイマ 〔の 制御 を ビット 4 〜ビ 
ッ ト 6 で 行います。 

この 3 ビット カズす ベて, 'の ときには, タイマ 動作 か 禁止され ます。 それ 以外の ときには タイ 
マ や タイマ!) は ディ レイモー ドで 動作し, 3 ビッ トで プリ スケ ーラの 分周 比の 選択 を 行い ま 
す 、の 設定け 々イマ^/タイマ 8 コントロール レジスタの モード 設定の^^ 位 ビットが つね 
に, 0, であると した 場合と 同じに なり ます。 



91 



拿 図 …… 9 丁 0006 (タイマ じ &:) コント ロール レジスタ) 




タイマ じ 動作 モ一 ド タイマ り 動作 モー ド 



111 
110 
101 
100 
011 
010 
001 
000 



ディレイ モード 



十200 プリ スケ - 

100 ! I 

64 !! 

^ 50 II 

16 !! 
10 〃 

屮 4 I! 



タイ マス 卜 ップ 



03 



タイマ データ レジスタ 



それぞれの タイ マ ごとに 1 本ず つ, タ ィ マの 値の リード/ライ トを 行うた めの タイ マ データ レ 
ジス タが 用意され ています。 タイマ は カウント パルスが 入る たびに 減少して いき, 301 になる 
と, 次の パルスで タイマ データ レジスタに 設定した 値が 自動的に 再 ロー ド されます。 




リ3 八^ 丁 (シリアル ポート) 



IV !] 7 1 3 内蔵の 113 八!^ 1 (!!ひん已 !" 331 00111-011005/ ^3^11011^000113 尺6じ6ぉ617 丁!" 30511111: 
(; ぼ) は, 全二重の 同期通信/非同期通信の 両方 を サボ一 ト している'; 細の シリ アル インタ フエ 一 

ス です。 X 68000 では キー ボー ド と 接続す る よ う に 決められ ている ため, キー ボー ドの 伝送 モ 
一 ド (非同期, 2400131^ スター ト ビッ ト 1 ビッ ト, データ 8 ビッ ト, パリティ なし, ス トツ 
プ ビット 1 ビット) にあわせる ことになります。 また, 乂 68000 では, 1)5^ 尺 丁の 伝送 クロ ッ 
クは タイマ 8 から 得る ようにし ており, 外部 デー タに 同期させる ような こと はでき ないた め, 
クロック モード も 1 八 6 以外 は 選択で き ません。 



このよう に, X 68000 では モー ド 選択の 射 也 は ほとんど あ り ません が, 一応 どのよう な 働き 
をす る ものな のか を 知って おいた ほうがよ いと 考え,^?? のリ 5 八 II 了 の 持つ 機能 を 一通り 説 

明して おく ことにします。 



| 508(5 丫 キャラクタ レジスタ) 



同期 転送 モ 一 ド時, 115 八な 丁 は 30^ に 設定 さ れたデ 一 タ 力 《 受信され る ま で 待ち 続け ま す。 
また 送信 時には, 送信 データ カ嗜き 込まれず, アンダー ラン 状態に なると' 自動的に 5じな に設 
定 された キャラクタ 力 《 送信され ます。 3じ 尺への 設定 は, リ (: 尺の I し ビッ トで 設定した データ 
長 (パリティ 力 5 有効の ときには データ 長 十 丄) ム让の ビット は 無効と なり, ,0 'として 扱われる 
ため, 50^ への 設定 は, 必ず 1)0? の ^ し ビット を 設定した 後で 行わなくて はなり ません。 

また, データ 長が 8 ビッ ト のとき 以外 は, 113^ 尺 丁 は パリティ を 自動的に は 付加し ません の 
で, ユーザ 側で ョ丫リじ キャラクタに パリティ を 付加した データ を 50? に 設定し なくて はな 
り ません。 

X 68000 では 1)3 八^ 丁 を 非同期 モー ドで 使用 し ま すので, 5011 は& 見して か ま レ 、ません。 



0*2 リ リ 5 八 8 丁 コントロール レジスタ) 



1)5 八^ 丁 の 動作 モ 一 ド を 決める レジスタ です。 じじ 尺 の ビ ッ ト 配置 を 94 ぺー ジの図 10 に 示 
します。 



01 じしに 

送受信 速度 を 入力 クロ ッ ク 周波数と 同一に する か, 送受信 速度 を 入力 クロ ッ ク 周波数の 1/16 
にす るか を 決めます。 ': ['に 設定す ると 1/16, で 'に 設定す ると 同一と なります。 

1/16 モードの ときには, リ5 八!? 丁 は 入力され た データから スタート ビッ トを 見つけ' 自働的 
に データ ビッ 卜の 中心 を サン プリ ング しながら データ を 取り込みます。 パソコン通信 などで 使 
われる モデムと パソコン 本体の 通信な ど は, この モードで 行われて います。 X 68000 でも, キ 
一 ボー ド との 通信 はこの モー ドで 使用し ます。 入力 クロック は タイマ] 3 の 出力 クロックで すか 
ら, タ イマ 8 の 出力 周波数 は 2400 (ヒリ 3 ) X 16 ^ 38400 只 2 になる ようにし ます。 

送受信 ク ロック が 入力 クロックと 同一の 場合, リ5 八^ 丁 は クロック に 同期 して 無条件に デー 



93 



き 図- 



- 10 リ 0?? (リ 5 ム卩丁 コントロール レジスタ) 3 巳 88029 



〇 しド 


^し 1 


めし 


5 丁 1 


5 丁 




^0 





データ 長 設定 



11 


51)11 


10 




01 


7 お 


00 


8 611 



1: 偶数 パリ テ. 
0: 奇数 パリ テ. 



1: パリティ 有効 
0: パリティ 無効 

(同期 モード) (スタート ビット 長) (ストップビット 長) 

11 非同期 1 2 

10^ II 1 1.5 

01 II 1 1 

00 同期 



: に X ビッ 卜が' 



》 ときの み 設定 可 



1 : 送受信 速度 は 入力 クロ ック 周波数の^ 
: II と 同- 



タ を 取 り 込む ため, デー タと クロック 力 ^全に 同期 していな いと データ 力 5 ' 化けて しまいます。 
このため, この モー ドを 選択した ときには データ とともに クロック も 接続して お く か、 受信 さ 

れたデ 一 タ から 同期 した クロック を 生成す るよう な 外部 I !.' I 路が 必要 に な り ます。 X 68000 で 
は, クロック は] VI?? の タイマ 8 に 接続され ています ので, この モード は激 尺で きません。 



02 



仰 し 



1 キャラクタの データ 長 を 設定し ます。' 00 'だと 8 ビッ ト, '(^ 'で 7 ビッ ト, ': 10 'だと 6 ビッ ト, 
で0 'の ときには 5 ビッ ト となり ます。 乂 68000 では, キー ボー ドの データ 長が 8 ビッ トで すか 
ら, で0 'を 設定す る ことになります。 



03 



5 丁 1,3 丁 



スタート ビット, ストップビットの 長さ, 同期/非同期 モードの 選択 を 行います。 ,00 'を 設定 
すると 同期 モードと なり, スタート ビッ ト, ストップビット とも になります。 ,00 '以外の 場合 



94 



は 非同期 モー ド となり ます。 このう ち, 設定 値' 10\ すなわち スタート ビッ ト 1 ビッ ト' ス ト ッ 
プビッ ト 1.5 ビッ トの モード は, (:し!^ が 1 のとき ひ/16 モードの とき) だけ 設定 可能です。 
X 68000 の キー ボー ドは, スタート ビット, ストップビット とも 1 ビット ですから, この ビッ 
トは' 01 'を 設定す る ことにな り ます。 



04 



巧 



ノ 、'リ ティ を 有効と する 力、, 無効と する か を 選択し ます。 ,1 'を 設定す ると パリティ か 有効と な 
り ます。 受信 時には パリ テ イチ ヱッ クカ^! 亍 わ:! ム 送信 時には データの 後に パリ ティ ビット が自 
動的に 付加され ます。 ただし, 8 ビッ ト 以下の 日丫ドじ キャラクタ に対して は, ? 2 力" 1 'になつ 
ていても, パリティ ビット は 付加され ません (データに は 必ず 付加され ます) ので 注意して く 
た' さい。 



05 



1/0 



ノ、 。リ ティ を 偶数 パリティ とする 力 \ 奇数 パリティ とする か を 選択し ます。 ,1 'のとき は 偶数 パ 
リ ティ, ,0 'のとき に は 奇数 ハ。 リ テイになります。 



3 闩 ミ!^ レシーバ ステータス レジスタ) 



& 5 &は, 受信 ステータスの 読み出し や, レシーバの イネ 一 ブル/ディ セーブ ルの 制御な ど を 
行う レジスタです。 尺 5 尺の ビッ ト 配置 を 96 ページの 図 11 に 示します。 



01 



8ド 



8? (バッファ フル) ビッ トは, 受信 バッファに データが 入って いる 力せ か を 示す ビッ 卜です。 
受信 ノ ぐ;/ ファ にデー タが 入って いると' 1 'になり' リ0 尺 (リ 3 ム尺丁 データ レジスタ) を (:?リ が 
読み出し, バッファの データ を 引き取る と' 'になり ます。 



95 



-11 只 5^ (レシーバ ステータス レジスタ) あ^ 8801 日 



6 「 


已 




ぱ 


ド/5 0「 巳 




55 


巳 



1 : レシ一 ハ' イネ一 フリレ 
0: レシ一 ノ、' デ イセ一 ブル 



1 : 508 レジスタの 内容と 一致 
する キャラクタ も 取り込む 

0: 3は レジスタの 内容と一 致す る 
キャラクタ は 取り込まない 



同期 モー ド時 

1 : 受信 バッファに 入った ワード は 5は レジ 

スタの 内容と一 致して いる 
: 受信 ノ 《ッ ファに 入った ワード は 5ぱ レ ジ 

ス 夕の 内容と一 致して いない 

非同期 モー ド時 

1 : スタート ビッ トを みつけた 

0: ストップ ビッ トを みつけた 



^ 同期 モー ド時 
,0 'を 書き込む と, ワード サーチ モードと なる 
パ 508 レジスタの 内容と 一致す る デー タ が 、 
\ 受信され る とリ' になる ノ 

' 非同期 モー ド時 

1 : ブレーク (ス ト ッ プビッ ト のない すべて 

で0 'の データ) を 検出した 
0: ブレーク 状態で はない 

1 : フレ一 ミン グ エラ一 が 発生した (ス ト ップ ビットが みっからない) 
0: 正常 動作 



1 : パリティ エラ一 が 発生した 
0: 正常 動作 



1 : オーバーラン ェ: 
0: 正常 動作 



- が 発生した 



1 : 受信 バッファに データが 入って いる 
0: 受信 バッファ は 空 



02 



巳 



0^ オーバ一 ラン エラ一) は, 受信 バッファに 入った データが (:?リ によって 引き取られな 
、まま, 次の データが 入って きて しまった 場合に 発生し ます。 新しく 入って きた データ は 捨て 



96 



られ ます。 02 ビッ トは, オーバーラン エラー 発生 後, 受信 バッファに 入って いる データ 力 5 1 売み 
出された 時点で' 1 'になり, 尺 51? レジスタ を 読み出す と' 'になり ます。 



03 ほ 



? 2 〈 パリティ エラー) は, 受信され た データから 計算した パリティと, 受信され た パリティ 
力 《 一致 しないと 発生し ます。 エラー 力 5 ' 発生す ると' 1 'に, エラーの ない データ 力 5 ' 受信され ると' (!' 
になり ます。 



04 ほ 



? 2 (フレー ミン グ エラー) は 非同期 モー ド のとき だけ 有効です。 300 以外の データ を 受信し 
た 後, ス ト ッ プビッ トカ 《 見つからな いと フレー ミン グ エラー 力 5 ' 発生し, ? 2 ビッ ト 力 5 '' 1 'になり ま 
す。 正常な データ カズ 受信で き ると' 'に 復帰し ます。 



0-05 ^5 01- 6 



175 !" 8 (フ アウン ドダ サーチ または ブレーク) ビッ トは, 同期 モード, 非同期 モードの 別 
によって 機能が 変わり ます。 

同期 モード 時には, ,0 'を 書-き 込む と ワード サーチ モードに なり, 501? レジスタの 内容と 一致 
す る デー タ 力 《 受 け 取 られ るまで 待ちます。 5丫1^じ キャラクタと 同じ デー タ 力 《 受信 される と 丁 
になり, (:?リ に 知らせる ため, 受信エラー 割り込み を 発生し ます。 

非同期 モー ドの ときには, データ ラインが ブレーク 状態に なった こと を 検出した ときに' 1 'と 
なる ステータス ビットに なります。 ブレーク 状態 は, データ ラインが' 'のま まに なって いる 状 
態で, ストップビットの 見つからない 3 00 の データと 考える ことができます 00 以外の ときに 
ス ト ッ プビッ トが 見つからな いと フレー ミ ング エラーに なり ます)。 

?73 01- 8 ビッ トは, 糾0 以外の データ 力: 受け取ら^ & 5 ^力ま 売み 出される と, ,0 'に 復帰し 
ます。 



97 



0-0 6 



1^/01? (マッチ/文字 処理 中) ビット も, 同期 モード, 非同期 モードの 別によ つて 機能が 変 
わり ます。 

同期 モー ドの 場合, 5^1^0 キャラクタと 同じ データ が 受信 ノ く" 门マ に 入った と き に' 1 'にな 
り, 一致し ない キャラクタ 力 5 ' 受信 ノ 《ッ ファに 入る と ,0 'に 復帰 します。 

非同期 モー ドの 場合, スター ト ビッ ト 力 5 ' 見つかる と' 1 'になり, ス ト ッフ 'ビッ トカ^ I つかる と 
で' に 復帰す るよう になります。 



07 



55 



已巳く シンクロナス ストップ) ビッ トは, 5V1^^ キャラクタ を 受信す る 力、 否か を 決める ビッ ト 
です。 55 ビッ ト カク 'になって いると, 3?!^: キャラクタと 一致す る データ は 受信 バッファに 
は 入らず, 当然, バッファ フルに もな りません。 



08 



お 



只2 (レシーバ イネ 一 ブル) ビッ トは 受信 動作の イネ 一 ブル/ディ セーブ ルの 制御 を 行います。 
尺2 ビッ トを' 'にす ると, 受^] 作 は 中止され, 尺 5 尺の 各 ステータス ビッ トは' 'になります。 , 
1 'になる と受ィ II 力作 は イネ 一 ブルと なリ ます 力、 このと き, 受信 クロック 力, お 合されて いなけれ 
ばな り ません。 



な 丁 5 1^ トランス ミッタ ステータス レジスタ) 



丁 31? のビッ ト 配置 を 図 12 に 示します。 丁 31? は, 送 もり I 大態ゃ 送^^ 力作 モードの 設定 を 行う レ 



98 



IV! 



12 丁 5?! (トランス ミ ッタ ステータス レジスタ) 



8 三 


II 巳 


ム 丁 




8 


リ 




丁 巴 



1 : トランス ミッタ 
イネ一 ブル 

0: トランス ミッタ 
ディ セ一 ブル 



ループバック モ一 ド 

丁 三 二 で 'のとき 50 端子 ^ 8! ゆ 

〃 ^ し 0〜 



二 ハイ インピ- 

ダンス 



1 : 50 端子 (送信 デー タ 端子) を ブレーク 状態 にす る 
0: 通常 動作 
水 非同期 モー ド時 のみ 有効 

1: トランス ミッタ は ディ セーブ ル されて いる 
0: II ィ ネーブルに なって いる 



1 : トランス ミ ッタが ディ セーブ ル になる と 自動的に レシ- 

(レシーバ イネ一 ブル 後, 自動的に ク リアされ る) 
0: 通常 動作 



バを イネ一 ブルす る 



0: 



1 : アンダー ランが 発生した (送信す る データが 書き込まれなかった) 
0: 正常 動作 

ッファ が 空に なって いる 

I に データが 入って いる 



01 8 巳 



丑^^ バッファ ェンプ ティ) ビッ トは, 送信 バッファが 空に なって いる こと を 示す ビッ 卜です。 

ッファ 力 5 ' 空になる と, 82 ビット は' 1 'になり, 1)0^(113^1^ 丁 データ レジスタ) にデー 
タか 書き込まれ ると, 82 ビッ トは' 'に 復帰し ます。 



02 リ巳 



112 〈 アンダー ラン エラー) ビッ トは, 送信 バッファに データ 力ぐ き' き 込まれない まま, -最後の 
データ 力 ^ 送信し 終わって しまった 場合に 発生し ます。 丁 2 ビッ 卜に よって 送信 を ディ セーブ ノレ 



99 



したり, 丁 31^ レジスタ を 読み出す と, 112 ビット はク リアされ ます。 



03 



八丁 



八丁 (オート ターン アラウ ン ド) ビッ ト 力 5 " 1 'になって いると, 最後の データの 送信 か 終わった 
時点で 自 動的に レシ一 ノ くが ィ ネ 一 ブルに な り ま す。 送信 か 終了 し た 時点で, この ビット は 自動 
的に' 'になり ます。 



04 



デー タ カズ 送信 さ れ ている ときに トランス ミッタ を ディ セーブ ル する (丁 2 を' 'にす る) と, デ 
ータの 送信 か 終了 した 時点で 丑〜!^ 送信 終了) ビッ 卜が' 1 'にな り ます。 トランス ミ ッ タカ 3 ' ィ ネ 
一 ブル される と, 腹 ビット は' 'に 復帰 します。 



05 8 



3 (ブレーク) ビット は, 非同期 モードの とき だけ 有効です。 非同期 モードの ときに 8 ビッ 
ト を' 1 'にす る と, き 送信 中の データ 力ぶ 送信し 終わった 後で 送信 データ ラ ィ ンを ブレーク 状態 
にします。 8 ビット を' 'にす ると, ブレーク 状態 は' I '止さ; II 通常;! 犬 態に 復帰し ます。 この ビ 
ッ 卜が' 1 'になって いる 間, 82 ビッ 卜が' 1 'になる こと はあり ません。 



06 4, 



れ し (只! きヒ /乙 ビット は, トランス ミッタ をデ イセ 一 ブル にした とき の 送信デ 一 タ ライ 
ンの 状態 を 決める ものです。 ,00 'のとき は ハイ インピーダンス, で1 'のとき は' し' レベル, ': 10 'の 
と き は' 13 'レベルに な り ます。 ,11 'の と き は少 しす #朱 で, ルーフつ くック モードと いう 一種の 自 己 
^(? モードに 入ります。 この モードの とき, 受信 データ ラインと 受信 クロック ラインが] VI?? 
内部で 送信-データ ラインと 送信 クロック ラインに 接続 さ; II 送信した データが そのまま 受信 さ 
れる 折り返し 飪惯 が 行えます。 通常, この ビットに は' 10 'を 設定して おくと よいでしょう。 



100 



07 



丁 巳 



丁 2 〈 トランス ミッタ イネ 一 ブル) ビ ッ ト は 送ィ貧 動作の 許可/禁止 を 制御 します。 丁 2 ビ ッ ト 
が' 1 'になって いると, 送 観 力作が イネ 一 ブルと なり, データの 送信 力 2 ' 行える ようになり ます。 



05 リ 01^ リ 5 八 8 丁 データ レジスタ) 



110 尺 は データの 受け渡し を 行う レジスタです。 ここに 書き込まれた データ は, 送信 ライ ンを 
使って 送出され 受信され た データ はこの レジスタ を 通して (:?!; に 受け取られます。 




の 初期設定 



IV!?? の 各 レジスタの 設定 値の 一覧 を 102 ページの 図 13 に 示します。 ,1 'あるいは' 'となつ 
ている ビット は, その 設定 値で 固定で ある こ と を, ?は 設定 を 変更で き る ビット を, X は 読み出 し 
専用の ビッ トゃ, 書き込み 時' 1 'と' 'のい ずれで あっても かまわない ビッ トを 示して います。 

システム 設定 値の データ は, 91111130 68^ を 起動した 後で 読み出した 設定 値です。 タイマ デ 

ータ レジスタ は 変化して レ 、 る ので, 10 万 回 ほ ど 連続 して 読み出 したと き の-駄 値 を 表に 記入 し 
てお きました。 



101 



図 …… 13 〜「卩 の 設定 値 



ァ ドレス 


1)117 1)1(0 


システム 設定 ィ匿 


レジスタ 名 


3 巳 88001 
3 & 88003 
3 三 88005 
5 & 88007 
8 & 88009 
2 & 88008 
8 & 88000 
3 [謹 ド 
3 & 88011 
5 巳 88013 
3 & 88015 
3 巳 88017 
5 巳 88019 
3 & 88018 
3688010 
3 巳 8801「 
3 & 88021 
8 & 88023 
5 ヒ 88025 
5 & 88027 
5 & 88029 
3 日 88028 
5 & 88020 
尜巳 8802 に 


ズズズ乂スズ乂ズ 




0^1 ロデ 一夕 レジスタ 


0X^X1 X X 


506 


ァク ティ フ" ェ ッジ レジスタ 


00000000 


500 


テ' 一 タディ レ クシ ョ ン レジスタ 


??? 1 1 ^ ^ 


518 


害 1』 り 込み ィ ネ一 フル レジ スタ八 


^ I 3 ? 1 


53 & 


害!] り 込み ィ ネ一 フル レジスタ 8 


ズズス乂乂乂乂ズ 




害 1』 り 込み ぺ ン ディ ング レジスタ 八 


ズズズ乂乂ズズズ 




害 り 込み ペン ディ ンク' レジス 夕 8 


ズ乂ズ乂ズズ乂乂 




害 【1 り 込み イン サー ヒス レジスタ 八 


乂乂ズ乂ズズ乂乂 




ホ || II 4 "! マ, ノゝ 圍 1 1 ノ, 1 、 1 , ん |^ 

害 11 り 込み ィ ノサー ヒス レンス タ 8 


?? 1 I 3 ? 


^ 18 


1 !] り 込み マスク レジスタ ^ 


^0^^0100 


? 3 & 


害!] り 込み マスクレ ジス 夕 8 


ド ド?? ?ズ乂乂 


840 


ベクタ レジス 夕 


01 


808 


タづ マ/ \ コン ト ロープ レレ ジス タ 


01 


^01 


タイマ 8 コン ト ロー ノレ レジス 夕 


? ? I 3 ! 3 ^^ 


377 


タイマ & コン ト 口一 ゾレ レジスタ 


9(3^1=1 闩^ ^3(3 


301 


タイマ^ デー タ レジスタ 


01101 


300 


タイマ 8 デ' 一 タ レジスタ 




308 


タイマ じ デ' 一 タレ ジス 夕 


ド^ド ド^ド ド 円 


5 1 4 


^7 ^ ~ 1 |~\ ― い 1 、'つ ム 

ヌっ 70丁 一 タ レンス タ 


00000000 


300 


5 丫! \1じ キャラクタ レジスタ 


1 1 X 


888 


リ 丁 コント 口一 ルレ ジス 夕 


ズスズ乂乂ズ0 ド 


301 


レシ一 ハ' ステータス レジスタ 


X X ? X ? 1 ? 


981 


トランス ミツ 夕 ステータス レジスタ 


ズススズ乂ス乂ズ 




リ3;\8 丁 データ レジスタ 



X …読み出 し專 用/任意の データで 可 ?… 必要に応じて 設定 変更 可 



102 



数値 演算 

プロセッサ 



数値 演算 プロ セッ サは 浮動小数点 演算 を 実行す る し 51 で, レ 
ィ ト レー シン グ など 実数 演算の 多 I 、用途で 処理 速度 を 大幅に \ 
向上す る ことができます。 ここで は, 数値 演算 プロセッサの \ 
具体的な 使用方法 などに つ I , て 説明し ま す。 




概要 



数価 寅 算 プロセッサ は 数値 演算, と く に じ? ひ か 苦 手と する 浮動小数点 演算 を 高速に 実行す 
るし 51 です。 乂 68000 では, 数値 演算 プロセッサ として 68000 ファミリー の^じ 68881 をォ 
プシ ョ ンで 搭載で き るよう にして います。 搭載す る 形態 は, XVI 以前の 機種で は 拡張 ボー ド 
に 2〜 6 8? 1〉 , XVI 以降 は 本体 内部の 専用 ソ ケ ッ ト に 挿入, と 異なって います 力、 ソフト ゥェ 
ァ から 見た 場合に はまった く 同じ ものと なって います。 

68881 は, もともと 68020 と 直結し, コプロセッサと して 使う のが 本来の 姿な のです が, 
68000 などの 他の 一般的な じ? リ と 接続す る こと もで き るよう になって います。 X 68000 では, 
68881 の, この 機能 を 利用して' 周辺 1/0 デバイス として アクセスす るよう にして います。 
68020 の 場合に は, じ? 11 が コプロセッサ 専用の 命令 を 解釈し, 68881 との こまごまと したやり 
と り をす ベて 自動 勺に こなして く れ るので すが, X 68000 のよう な 使い方の 場合に は, この あ 
たりの 操作 をす ベて ソフ トウ ヱァで 行わなくて はならない ため, 扱いが 少々 面倒に なって いま 
す。 この 章で は, まず, 68881 内部の 演算 &理 機能 や 演算 命令の 説明な ど を 行い, 最後に 68881 
との 細かな や り と リ の 方; 去 を 説明 していく ことに します。 



103 



68881 の 内部 レジスタ 



68881 の 内部 レジスタの 一覧 を 図 1 に 示します。 これらの レジスタへの アクセス は, あく まで 
も 演算 命令 や データ 転送 命令な ど を 利用して 行われる もので あり, (:?ひ から 見て, ある アド レ 
スに 直接 配置され る もので は あ り ません ので' 注意して く ださい。 

壽 図 …… 1 68881 の 内部 レジスタ 

ヒ け 79 13)10 

ぽ 
び1 
^2 
^3 
や 4 
^5 
印 6 
^7 



31 6110 





例外 


モ一 ド 




イネ一 ブル 


コント 口一 ゾレ 



ぼ 8 



コ^ イシ ヨン 


商 


例外 


ァ クル一 ド 




ステータス 


例外 



「円が 



「ド0 〜「ド 7 : 浮動小数点 データ レジスタ 
「ド06: コ ン ト 口一 ル レジスタ 
^5^: ステータス レジス 夕 
「円/^: 命令 ァ ドレス レジス 夕 



104 



数 健 演算 プロセッサ 



0\ 「?门 



?? 力、 ら ?? 7 の 8 本の 80 ビ ッ ト 長の レジスタ は 浮動小数点 デー タ レジスタ です。 68881 
の 演算 処理な ど は, これらの レジスタ を 使) ^して 行います。 8 本の レジスタ は' まったく 同等 
の もので あり, ある レジスタ だけ カ畔好 来な ものと して 扱われる ような ことはありません。 ちょ 
うど (:?じ の データ レジスタ (!)。""!)?) に 相当す るよう な ものと 考えれば よいでしょう。 



2 卩^じ闩, 「^さ闩, 1=^1^ 



01^ は, 68881 が 発生す る 例外的な イネ 一 ブル/ディ セーブ ノレの 制御, 演算 結果の 丸め 処 
理の 指定な ど を 行う ものです。 卩!?じ^ の?!^ X: ビット (図 2〉 によって' 丸め 精度 を^ ^ 度 
やや 對冑 度に 変更で き る 機能 は, あ く まで も 拡張 精度での 演算が 行えない 他の 計算 屬 との 互換性 
を, す る ための も ので あ り , 演算 速度 も , 拉張 精度の ときよりも かなり 落ちて しまい ますの 
で, 通常 拡張 精度 以外 を 指定す る 必要はないでしょう。 

ヌ? 51? は, 演算 エラー や オーバ フローな ど 力 5 起こって しまった ときに, 状況の 角晰ゃ 後始末 
を 行う 際に 有効な ス テータ スゃ 除算 命令の 商デー タ な ど 力 5 、^! 內 されます。 

? ?5 尺の コンテ' ィ シ ヨン コード バイ トは 演算 命令の 終わりで セッ ト される ものです。 107 ぺ 
一 ジの図 3 に 示した 各^ [牛が 成立す る と ,1 'にな り ます。 

商 バイト は, モジュロ (?^。!)) 命令 や 1222 剰余 (?:!^;^) 命令 を 実行した ときに セッ 
ト されます。 

例外 ステータス バイ ト は, 最後に 行われた 浮動 小&^ 演算 や データ 転送で 発生した エラー や 
オーバ フローな ど の 例^ 態 を 示す ために 使用 されます。 

ァク ルード 例外 バイト は, 1222 で 規定され ている 5 禾 截 頁の 例外 ビットが 入って います。 こ 
の 各ビッ トは 例外 ステータス バイ 卜から 生成され ますが, 例外 ステータス バイ トが演 算の たび 
にセッ 卜/リセ ッ ト される のに 対して, ァク ルード 例外 バイ トは 発生した 条件が 尺 されて い 
き ます。 これによ り , "^の 演算 処理の 前に ァ クルー ド 例外 バイ トをク リア してお き' 終了後 
に のま まに なって いるか どうか を チヱ ック する だけで' 1 の 演算が すべて 問題な く 行われ 
たか どうか を 知る ことができ ます。 

ド?1 八 尺 は, 実行され た 最後の 浮動 小&^ 命令の アドレス を 1^ ^する ものです。 この レジス 
タは 68020 と 直結した 場合に, 害リり 込みに よって 中断され た 演算 処理の 実行 を, 害リり 込み 処理 
の 終了後に 再開す るた めに 使用され る ものです。 X 68000 の 場合の ように 68881 を 1/0 デバ 
イスと して 接続した ときには あまり 意味がない レジスタで すが, アクセス する こと は 可能です。 



105 



0^ と ド? 31^ の 詳細 を 図 2 と 図 3 に 示します ので 参考に してく ださ ! 



き 図 …… 2 (コント ロール レジスタ) 

61131 16 15 



例外 イネ一 フル モ一 ド コント ロール 



13 は 15 



8511^ 



アン オーダの 分岐/セット- 
シグナ リング^^ 
才 ペラン ドエラ一 - 
才一ハ 'フロー 
アン ダフ 口一 
ゼロに よる 割り算 - 
不正確な オペレーション- 
不正確な 10 進入 力 



巧^ 0ソ 「し 



I ^「し 02 1^1^X2 1^ 已 XI 



^じ 


瞧 


で' 






(つねに' 'にす る) 



(未使用)- 
倍精度 - 
単精度- 

拡張 精度 - 



プラス 無限大 方向に 丸める- 
マイナス 〃 - 
ゼロ 方向に 丸める- 
近似値に 丸める - 



(丸め 精度) 



~ 10 
01 
00 



(丸め モード) 

1 1 

1 

01 

—— 00 



106 



数値 演算 プロセッサ 





… 3 


^^51^ 〔ステ ― 

61131 


タス レジスタ) 

24 23 16 


15 8 


7 6110 






コンディション コ一 


ト" 


商 


例外 ステータス 


ァ クル一 ド 例外 



て 



『0, 



画 



ゼロ- 

無限大- 
数字で ない- 
または アン オーダ 



商の 符号- 
商の 下位 7611- 



ヒけ 16 





1 1 




5 




商 



8511^1 


5 關 


01^8 


0\ /「し 


リ^し 


02 


11^5X2 


隨 1 



アン 才一ダ の 分岐/セット- 

シグナ リング!^ \^!- 
オペランド エラー- 
オーバ フロー- 
アン ダフ 口一- 
ゼロに よる 除算- 
不正確な オペレーション- 
不正確な 10 進入 カ- 



6117 3 ― 2 ^^^^^ お 



10^ 


0^1 


リ ぼし 


01 


11^0 


で' 



無効な オペレーション ~ I 
ォ一バ フロー —— 
アン ダフ 口一 —— 
ゼロに よる 除算 一 
不正確 一 



3 



68881 が 扱える データ 
フォー マツ 卜 



68881 が 外部 との やりとりで 扱う ことので きる データ フォーマット を 図 4 に 示します。 
68881 の 内部 演算 自体 はつねに 拡張 精度で 行われて お り, また, 浮動 小&さ データ レ ジス タに 
は で' 指定 し た 丸め 精度で デー タ 力 对&! 内 されて います。 内部で^ している 精度 と 指定 

誊図 …一 4 68881 が 扱う ことができる データの フォー マツ ト 

514 7 6110 

| バイト 整数 (巳) 



ワード 整数 (界) 



ロング ワード 整数 (し) 



指数 


小数 部分 


し 小 


数 部分の 符号 



指数 



、数 部分 



^小数 部分の 符号 



つねに 



仮数部 分 



し 仮数の 符号 卞 

喑 黙の 小数点 



倍精度 実数 



拡張 精度 実数 ひ) 



つねに 



17 桁の 仮数 



パック 型式 10 進 (?) 



喑 黙の 小数点 

土 無限大か^ ^(川 01 ^ リリ "おり のと きに 使用され る。 通常 は' り' 
指数の 符号 
仮数の 符号 



108 



数值 演算 プロセッサ 



された 型 力;' 異なる 場合, 68881 は 自動的に 型変換 を 行います。 つま り, 外部から 転送され たデー 
タは 必ず 内部で 拡張 精度に 変換さ^ 外部に 転送す る ときには 拡張 精度から 指定され た 型に 変 
換 された 後, 転送 動作が 行われる わけです。 

各 フォー マツ 卜の 横の カツ コの屮 に 書いて ある アルファべ ッ トは, その 型の 略称と して メー 
力で ある モトローラ 力 や 推奨 している も のです。 68000 のァセ ン ブラ で'] \10乂2 # 8 'のよう に 型 指 
定を 行います が, それと 同じような もので, たとえば, 聘青度 実数の 転送で は, '? 1\40マ1^5, 
のように 記述し ます。 



1 実数 データの フォーマット 



バイト, ワード, ロング ワードの 各 整数 型 は, すべて 68000 じ? II で极 われる 整数 データと 
同じです ので, と く に 説明 はいらないでしょう。 

職 度, 傲 青 度, 拡張 精度の 各 実数 フォーマット はすべ て 正22 規格に 準じて います。 ただ 
し, 拡張 精度のう ち, ビッ ト 64 から ビッ ト 79 までの 16 ビッ ト はつねに ゼロで あるた め, 
68881 内部で は 省略され, 80 ビット データと なって います。 

10 進数で 実数 を 表現 するとき, 7.2X10 の 3 乗と いったよ うに, 整数 部分 を 1 桁と して 表現 
し ま す 力、 1222 による 2 進数の 実数 表現 も, これと同じよう に 整数 部分 を 1 桁に し た 仮数部 
と 指数部に 分けて 表します。 10 進数の 場合に は, 整数 部分に は 1 から 9 までの 数値が き ますが, 
2 進数で は 1 に しかな り え ません。 小数 部分 を 仮 り に I , 指数 を 6 で '射 ば, 1 ^ズ 2 8 という 表 
現になる わけです。 

聘冑度 実数 と 傲 I 度 実数で は, こ の 無駄な 整数 部分 を 省略 し, デー タ 中 に は 小数 部分 だけ を 
ネ&! 内して います。 拡張 精度 実数で は, 64 ビッ 卜の 仮数部の!^ 位ビッ トカ、 整数 部分で, 上位が 
ら 2 ぉ亍目 以降が 小数 部分と して 扱われます。 

指数部 分 は 正, 負い ずれの 場合 も 存在し ますので, 献 る データの 半分 あたりの 値に オフ セ 
ッ トを かけて います。 たとえば, 聯冑度 実数なら, す 旨 数 部 は 8 ビッ 卜あります ので, 37 7(127〉 
だけ 足した 値 か 才絲 内され ます。 指数部が 2 なら 指数 データ は 37?, 2 1 なら ぉ0, 2- 3 なら 57 と 
なる わけです。 

各 実数 フォー マツ 卜に おける 実数の 表現 を 110 ページの 図 5 に まとめて おきました ので 参 
考 にして ください。 図 中, ^ィ激 と あるの 力 《通常の 浮動 小&^ ; データの 表現です。 非!^ 見 化 
数と いうの は, 値の 搬ォ 値が あ まりに も 小さくな り, アン ダフ ロー を 起こす 限界のと き の 値で, 
指数部 分が , 仮数部の 整数 デー タが となって いる データの 扱い を 示して います (仮数部の 
小数 データ もす ベて になって いると, ゼロ を 示す こ と にな り ます)。 通常, 聯胄 度ゃ微 II 度の 
場合, 仮数部 分の 整数 はつねに 1 として 扱います が, 指数が の ときには, 例外と して 整数 部 



単精度/倍精度 



拡張 精度 











各フ ィール ド のビッ ト長 


3 
8 
11 

\ 


単精度 

1 
8 

23 


1 

11 

52 


拡張 精度 

1 

15 
16 

1 

63 






計 


32 


64 


96 


正規 化 数の 表現 
非 正規 化 数の 表現 


(― げズ!バズ之 6 — , 27 
(一 1)5X0 バ X? つ 26 


(一 れリズ纩 1023 

(—り ヽ0 バ 卿 


(一 げズし"^— 6383 
(一 "ヽ。.^^ ―' 5 383 


表現 可能な 
数の 絶対値 
(概数) 


正規 化 数 最大 

11 最小 
非 正規 化 数 最小 




XXX 
々 00 サ 


① 1\3 00 

XXX 
。 。 。 


6丫10 493 , 
8 XI。 一 4333 
9乂10 - 4952 



分が であると いう 扱いで 数値 を 表現 し ま すので 注意して ください, 



0-9 



リ;; 数 演算 を 行って いると, 魏 な 条件への 配慮 不^ や, 数学的に は II! 腦が なくても, 68881 が 
表現で きる データの 範囲に 限界が あるた めに 結果が や 無限大と いった ものになる 場合が あ り 
ます。 これら を 通常の]^ 化 数, 先 ほど 説明した 非^ ィ匕 数と ともに 図 6 に まとめて おき まし 
た。 

最後の IV 八リ というの は 1^01: 八 1^10ュヒ6 !" の 頭文字 を とった もので, 無限大 干 無限大な ど, 

数学的に 意味 を 持たない 演算 を 行った 場合に 68881 が '演算 結果と して 返す ものです。 



図 …… 5 実数の フォーマットの まとめ 



5 


6 


\ 




一 1: 負数 

0: 正数 


3 


6 


じ): \ 



"^未使用 ビッ ト 



特殊な 実数 データ 



か 3 68881 内部の データ フォーマット 



68881 内部での 演算 処 31^ 中の 結果 は 図 7 のよう な フォー マツ ト となって います。 演算 を 繰 
り 返した ときの 精度 落ち を 防ぐ ため, 仮数部 分 は 拡張 精度の 64 ビッ ト に対して 67 ビットと な 



110 



数値 演算 プロセッサ 



》 図 …… 6 特殊な 実数 データの フォー マツ ト 



指数 



仮数の^" 
1: 負 
0: 正 





最小値く 指数く 最大値 


任意の ビッ トパ夕 ン 









^11 以外の 任意の ビット パタン 
















最大値 








最大値 


八 II 以外の 任意の ビット パタン 



正規 化 数 (通常) 



(アン ダフ ロー 限界 付近の 値) 



ゼロ 



無限大 



: 拡張 精度 フォー 

(整数 部分) は' 1 



仮数 



ト時。 仮数の 最上 位 ビ': 
V のい ずれで も 可 



条図 …… 7 68881 内部での 演算 途中の フォー マツ ト 



指 数 07 れ) 


: : 小数 部分 〈63 お) : : ; 






一整 数 ビット 小数 部分の 最下位 桁」 
オーバ フロー ビット 




I 

ステ イツ 干— ヒッ 卜 



丸め ビッ 卜 
ガード ビット 

つてお り, また 乘算 命令 実行時の オーバ フロー や アン ダフ 口一 検出な ど を 容^に する ため, 指 

数が 17 ビッ ト 用意され ています。 



68881 との インタフェース 



68881 と X 68000 の コミュニケーション をと るた めの レジスタ 一覧 を 112 ページの 図 8 に 

111 



# 4 



示します。 これらの レジスタ は, 68020 力 え 数値 演算 プロ セッサ や メモリ マネ ジ メント ユニットな 
どの 各種の コプロセッサと コミ ュニ ケーシ ヨン をと るた めに 規定した じ1^ (コプロセッサ ィ ン 
タフ ヱース レジスタ) の 規定に もとつ' いています 不要な レジスタ は 省略され ています)。 
68881 が 68020 と 直結 さ れた 場合に は, これらの レジスタと の や り と リ は じ? I; であ る 
68020 が 自動的に 行う ため, プログラマが レジスタの 存在 を 意識す る 必要 は あ り ません 力、 
X 68000 の 場合に は, 68881 を 1/0 デバイス として 接続して いますので, じ? II になり かわつ 
て ソフトウェアで これらの レジスタ を コントロール する 必要が あります。 このため, 演算の パ 
フォー マンス はどうしても 直結した 場合よりも 落ちます 力、 1/0 デバイスと している ため, 複 
数の 68881 を 同時に コン ト ロールす る こ と も 可能と な り ます。 シ ヤー フ '糸' 111 の 数き: 演算 フ 。ロセ 
ッサ ボー ド 02-68 ?1 では, ピン 設定に よって 2 禾 廳のァ ド レ ス を 選択す る ことができ るよう 
になって います。 レジスタの アドレス は, 標準 設定で は^; 92000~?29201?, ピン 設定の 変更 
で 5292080~329209? となります ひ- 111111311 68 尺 で 使 ゅ1 される 浮動小数点 演算 ドライバで 
は, このうち 標準 設定 側し かサ ポー ト されて いません)。 



図 一… 8 じ| 只 (コプロセッサ インタフェース レジスタ) 

1)1131 16 15 1)110 



十500 


応答 018 (め 


コン ト ロール (: 旧 (が) 


十 も 04 


セーブ (:旧 (め 


リス トァ 旧 、ま、 


十 本 08 


(オペレーション ヮ一 ド じぼ) 


コ マン ド 01 ド (界) 


十 ま 00 




コンディション (:闬 ま 




才 ペラン ド〔 


畴 輔 


十 本 14 


111111111111111 
レジスタ 選択 ひ8 




+ 518 


命令 ァ ドレ: 


く。 18 (说) 


+ 


(才 ペラン ドア ドレス 旧) 



ベ一 スァ ドレス : ま 三 9 ビ 000 (標準) 
^三 90380(2 枚 目) 



(お : 読み出し 専門 
(が) : 書き込み 専用 
(ま): 餽み 害き 可 



数値 演算 プロセッサ 



か1 応答 旧 



尺 は, 68881 が 自分自身の 動 (お 犬 態 や ホスト (:?リ による サービスの 要求 を 示す た 
めに 使用され ます。 応答 尺 はいつ でも 読み出す ことができます。 ホスト じ?1! は, この レ 
ジス タの値 〈 フ-リ ミ テ ィ ブと 呼びます) を チェック しながら 動作す る ことで, 68881 と 同期 を と 
る (歩調 を あわせる) ことができます。 応答 じ1 尺の 内容の 詳細 は 後で 説明し ます。 



2 コントロール 018 



68020 の コプロセッサ インタフェースの 規定で は, コントロール は, ホスト じ? 11 が 
コプロセッサ に対して 例外 ァクノ リ ッ ジゃ 命令の 実行 ァ ボー ト をす!^ する ために 使用す る もの 
となって います。 68881 では, この レジスタへの 書き込み をす ベて アボート 命令と して 受け取り 
ます。 この レジスタに 書き込み 力 《 行われる と, 68881 は 実行中の 処理 を ただちに 中止し, ペン デ 
イングされ ている 例外 (演算 エラーな ど) をす ベて ク リアした 後, アイ ドル 状態に 復帰し ます。 

68881 に 例外が 発生した ような 場合, ホスト じ? II は, この レジスタに 書き込み 動作 を 行い, 
異常 状態から 回復させます。 



03 セーブ 01^ 



ソフトウェア では アクセス されない 68881 の 内部 状態 を 読み出す ために 用意され ている レ 
ジス 夕です。 マルチ タスク 05 などで は, 複数の タスクが 68881 を 使用す る 可能性が あり ます 
が, タスク 力;' 切 り 替わ つたと き に, 68881 がま だ 前の タスク が 発行 した 演算 命令 を 実行中で あ る 
と, おかしな ことにな つてし まいます。 このような 事態 を 避ける ため, 現在 処理して いる 状態 
を そのまま メモリな どに セーブして おき, 次に ふたたび 同じ タスクに 戻って きたと きに, その 
内容 を 回復して, 中断され た 演算 処理の 続き を やらせる 必要が あ り ます。 このよう な 目的で 設 
けられて いるの が? 3^X2 と ? 尺23 丁 0^2 命令で, セーブ は? 5 八 マ2 命令の 実行の た 
めに 設けられ ている レジスタです。 

この レ ジス タ を 読み出す と, 68881 は 現在の 処 趣 力作 を 中断し, 動作^! 犬 態 ステータス を 返し ま 
す。 ホスト じ? II は, 返された データ を 見て 必要な 分の データ を 読み出します。 



113 



4 



リストア 018 



? 1^23 下 0^2 命令 を 実行す るた めの レジスタです。 ホスト じ? II は, この レジスタに セー 
ブ じ1 尺 を 読み出した ときに 最初に 返された データ (ステート フレーム) を 書き込みます。 この 
レジスタへの 書き込みが 行われる と, 68881 は 動作 を 中断し, 与えられた ステー ト フ I ^一 ムのフ 
ォー マット を チヱ ック した 後, リストア 動作 を 開始し ます。 ホスト じ? リ は, 残る データ を 
68881 に 書 き 込み, 中断 されて い た 動作 を 再開 します。 

フォー マツ トが 不正であった 場合, ホスト じ? リは コントロール じ1 尺への 書き込み を 行い, 
68881 を アイ ドル 状態に 復帰させます。 



05 オペレーション ワード 018 



68881 は, この レジスタ を 使用し ません。 この レジスタへの 書き込み は 無;^ されます。 



0*6 コマンド 018 



ホス ト じ? II が 68881 に 命令 を 書き込む ために 使用し ます。 各種の 演算 命令 や データ 転送 命 
令 は, すべて この レジスタへの 書き込みで 附始 されます。 コマンドの 詳細 は, 後で 説明し ます。 



7 コンディション (: 旧 



68020 と 直結され た 場合, この レジスタ は 浮動小数点の 条例 寸き 命令 (条 ザ^ 吱 命令な ど) を 
実行 するとき に 使用し ます。 X 68000 では, 68881 は 1/0 デバイス として 接続され ています の 
で, この は 条件 チェック (等しい, 大きい, 小さい など) を 行うた めに 使用で きます。 



0*8 オペランド じ18 



ホス ト (:?ひ と 68881 との 問の データ: 転送に 使用され ます。 浮動小数点 データの 受け渡しな 
ども, この レジスタ を 通じて 行います。 



114 



数値 演算 プロセッサ 



09 レジスタ 選択 旧 



複数 浮動小数点 データ レジスタ 転送 命令 (?I^0V2]V [命令) を 実行す る と き, 68881 から ホ 
ス ト じ? II に レジスタ マスク を 渡す ために 使用し ます。 ホス ト じ? リ は 渡された データの 1 の 
数 を カウント する ことで, 転送す る レジスタの 数 を 知る ことができます。 



10 命令 アドレス (: 旧 



応答 011^ の? じ ビットが セットされ ている ときに, ホスト (:?リ が? じ (プログラム カウン 
タ) の 値 を 渡す ために 使用 します。 68881 力 5 ' 命令 を 実行 している ときに, 割 り 込みな どが 発生す 
る 可 肯^ 1 生が ある 場合, 現在の ? じ の 値 を 68881 に 渡します。 X 68000 のよう に 1/0 デバ ィ ス 
と して 接続した 場合に は あま り 利 川す る 意味はないでしょう。 ここへの 書き込み 要求 は 船 見し 
て も かまいません。 



か 11 オペランド アドレス 01 日 



68881 は, この じ1 &を 使用し ません。 アクセス はすべ て 無 4 見され ます。 




応答 プリミティブ 



応答 プ リミ ティ ブ の^! ま 的な フ ォー マット を 116 ぺー ジの図 9 に 示 します。 
(: 八ビッ トは, 68881 が なんらかの サービス 要求 を 行って いる こと を 示して います。 
?じ ビット は, ホスト (:?リ から ? じ (プログラム カウンタ) の 値 を 受け 渡す こと を 68881 
が 要求して いると きに セット されます。 この 要求 は, X 68000 のように 1/0 デバイス として 使 
つてい る ときには 意味 を 持ちません。 68881 側で も, そのような 利) お 法 を 考慮し, この 要求 は 無 
視 されても かまわない ようになって います。 
尺 は, 68881 と ホスト に? II との 間の データ 転送 方向 を 示します。 ,0 'の ときには ホスト 



115 



き 図 '…- 9 68881 応答 プリ ミ ティブの フォー マツ ト 



0;\ 


? 


0^ 


機 能 


パラメータ 



00100 
窗スス 
01100 
00001 
11100 
11101 



ヌル プリ ミ ティブ 

実効 ァ ドレス 評価/ デ一 タ 転送 プリ ミ ティブ 
単一 メイン プロセッサ レジスタ 転送 プリ ミ ティブ 
複数 コプロセッサ レジスタ 転送 プリ ミ ティブ 
命令 前例 外 取得 プリ ミ ティブ 
命令 中 例外 取得 プリミティブ 



データ (オペランド) の 転送 方向 
0: ホス 卜 ぼ じ ― 68881 
1: 68881 —ホス 卜び じ 

機能 ビッ 卜が' 00100 '(ヌル プリミティブ), 11100 '(命令 前例 外 取得 プリ: 
ティブ, ,11101, (命令 中 例外 取得 プリ ミ ティブ) のとき は' 0, 



ド 0〔 プログラム カウンタ) 受け取り 要求 ひ 1 'で 要求 あり) 
カム ァ ゲイン ((^ リ による なんらかの サービスの 要求 : ,1 'で 要求 あり) 



(:?じ から 68881 へ, ,1 'の ときには 68881 から ホス ト じ?1; への 転送で ある こと を 示します。 

機能 ビッ トは プリ ミ ティブの 權リ を 示し, パラメータ は それぞれの プリ ミ ティブに 付 151 した 
情報 を ホス ト 0?じ に 波す ために 使用され ます。 



@ 1 ヌル プリミティブ 



ヌル プリ ミ ティブの 詳細 を 図 10 に 示します。 ヌル プリ ミ ティブ は, 68881 が 自身の ス テータ 
スを 知らせる とともに, ホスト (:?じ との 同期 をと る ものです。 ヌル プリミティブの 各 ビット 
の 組み合わせ とその 内容の 対応 関係 を 図 中に 示して おきました ので, 参考に して く ださい。 
68881 は, これ 以外の 組み合わせの 値 を 返す こと は あ り ません。 



@ 2 実効 アドレス 評価/データ 転送 プリミティブ 



实効ァ ドレス 評ィ 面/データ 転送 プリ ミ ティブ は, 68881 が ホス ト (:?ひ に対して 浮動 小^ デ 
- タゃコ ン ト ロール レジスタの 値の 転送 要求 を 行う ために 使用され ます。 



116 



数値 演算 プロセッサ 



一 図 …… 10 ヌル プリ ミ ティブの 内容 



0;\ 


1^0 


ず 






力' 


ず 


は 


ず 


'。, 


1 1 


ず 


ず 


1 1 


び 


丁!^ 



割 り 込み 処理 可 ^ 条件 判断 ク ラ ブ 

0: 真 

68881 内部 ステータス 】 , 化 
0: 命令 実行中 
1: アイ ドル 



値 


〇 八 


? 


I み 




丁!^ 


内 容 


8 0800 

















コ ン ディ シ ョ ン (:ほ への 書き込み に対する 応答 (条件 二 真) 


5 0801 














1 


〃 〔 II : 偽) 


5 0802 











1 





68881 が アイ ドル 状態で ある こと を 示す 


8 0900 








1 








68881 が 内部 処理 を 実行中で ある こと を 示す 


3 4900 





1 


1 








プログラム カウンタの 値 を 要求して いる ほか は 50900 と 同 じ 


5 8900 


1 





1 








応答 レジスタの 再読み 出 し 要求 


30900 


1 


1 











プロ グラム カウンタの 値 を 要求して いる ほか は 38900 と 同 じ 



図 …… 11 実効 ァ ドレス 評価/データ 転送 プリ ミ ティブの 内容 



じ 1115 14 13 ― 12 ― 11 10 8 7 じ 丄 





? 


08 


リ' 


1 1 


も 効く 63〉 


長 さ 



値 


対応す る オペレーション 


ぼ 


0^ 


有効く 63〉 


長さ 


転送す る データ 


59501/80501 


浮動小数点 演算 命令 


X 





101 


501 


バイ ト 


59502/80502 


「圖化 XX, 


X 





101 


502 


ワード 


59504/80504 




X 





101 


504 


ロング ヮ一 ド /単精度 実数 


89508/50508 


(ひ?じ し 八 ミミカ"!!)) 


X 





110 


508 


倍精度 実数 


59600/50600 




X 





110 


500 


拡張 精度 実数/パック 形式 8(30 


58101 


ドリ0ソ^ 「卩 の, XX 







001 


501 


バイ ト 


58102 









001 


本 02 


ワード 


58104 









001 


504 


ロング ワード/単精度 実数 


58208 


(。^(: し^ 55:011〉 







010 


508 


ィ:^ 精き 1 ^, 


58200 









010 


500 


拡張 精度 実数/パック 形式 800 


39704 


!^0ソ 曰 XX, 「れ「 








111 


5 04 


転送す るコン ト ロール レジスタ は 4 バイ ト 


89504 


「隱印 XX, 「^「リぉ 








101 


304 


〃 4 11 


59608 


(の?じ し 八 55:100〕 








110 


508 


II 8 II 


59600 










110 


300 


II 12 II 


58304 


1^10ソ 巳 ほ 「, XX 





1 


011 


504 


転送す るコン ト ロール レジスタ は 4 バイ ト 


88104 


「隱 昍 ぼ ひづば, XX 





1 


001 


804 


11 4 II 


38208 


〔0 卩 (: し 八 ぉ:扣" 





1 


010 


508 


II 8 II 


28200 







1 


010 


800 


II 12 1! 



この プリ ミ ティ ブの 詳細, プリ ミ ティ フ' 値と 対応す る 68881 の オペ レー シ ョ ン, 転送す るデ 
ータ タイプの 対応 を 図 11 に 示します。 この プリ ミ ティブ は 命令 実行時に 一度 だけ 返さ^ ^ それ 
以降 はヌ ルプ リミ ティ ブに 変化 します。 



117 



03 



単一 メイン プロセッサ レジスタ 転送 プリミティブ 



プリ ミ ティブの フォー マツ トを図 12 に 示します。 

この フ。 リ ミ ティブ は, 複数 浮動小数点 データ レジスタ 転送 命令に おいて, 転送す る レジスタ 
リ ス ト を データ レジスタて" 指定す る モー ドを 選択した 場合, 68881 から メ ィ ン プロセッサに 要 
求され ます。 ホスト 0?1! が 68020 で, 68881 が 直結され ている 場合に は, 要求され た データ 
レ ジス タの 内容が じ? I; によって 自動的に 転送され ますが, X 68000 の 場合に は, 次に 書き込 
む データ 力 5 ' 使用され る だけで あ り, レジスタ 番号 ビッ ト はとく に 意味 を 持ちません。 

參図 …… 12 単一 メイン プロセッサ レジスタ 転送 プリ ミ ティブの 内容 



131115 12 11 8 7 ^^^^ 4—3—2 1)1(0 





飞' 


飞' 




リ' 






飞' 




,0, 


1 1 


飞' 


1 1 


レジスタ # 



値 


レジスタせ 


転送す る レジスタ 


38000 


000 


00 


58001 


001 


01 


38002 


010 


02 


^8003 


011 


03 


88004 


100 


04 


38005 


101 


05 


58006 


110 


06 


58007 


111 


07 



0-4 



複数 コプロセッサ レジスタ 転送 プリミティブ 



複数 コプロセッサ レジスタ | 云 送 プリ ミ ティブの フォー マツ トを図 13 に 示します。 この プリ 
ミ テ ィ ブは, 68881 が 複数の 浮動小数点 データ レ ジス タを 外部との 間で 転送す る こ と を 要求す 
るた めに 使用し ます。 

長さ フィ ール ドは标 送され る 各 レジスタの バイ ト数 をが-します 力 5 ', 68881 の 場合に はつねに 
80 (: になり ます。 



118 



数値 演算 プロセッサ 



図 …一 13 複数 コプロセッサ レジスタ 転送 プリ ミ ティブの 内容 



丫 


で' 


01=1 


で' 


で' 


で' 


で' 


丫 


長さ (つねに お。。) 



値 


闩 


転送 方向 


58100 
^ム 100 



1 


メモリ から 68881 への 転送 
68881 から メモリ II 



命令 前例 外 取得 プリミティブ ズ 
命令 中 例外 取得 プリミティブ 



命令 前例 外 取得 プリミティブ は, 68881 が なんらかの 異常 を 検出し, ホスト じ? リ に対して 
現在の オペレーション を アボートし, 例外処理の 開始 を 要求す るた めに 使用し ます。 命令 中 例 
外 取得 プリ ミ テ ィ ブは, 浮動小数点 データ レジスタから 外部への 転送 命令の 実行中に 例外が 発 
生した とき に 通知 される フ' リミ ティ ブ です。 

それぞれの プリ ミ ティブの フォー マツ トを図 14 と 図 15 に 示します。 下位 8 ビッ トの ベクタ 
ビッ トは, 発生した 例外 状態 を 示す のに 使用され ます。 68881 が 発生す るべ クタ 番号と, その内 
容の 対応 も 図 中に 示して おき ま したので 参考に して く ださい。 

參図 …… 14 命令 前例 外 取得 プリ ミ ティ ブの 内容 

01(15 14 13 8 7 ^^^^^^^^^ 比0 





^0 




'!' 


'!' 


'!' 




'。, 


ベクタ 番号 




値 


ド 〇 


ベクタ 番号 


内 容 


35008 


1 


808 


「ライン ェ ミ ユレ一 タ 


55030 


1 


530 


アン オーダ 条件での 分岐 /セッ 卜 


51031 





331 


不正確な 結果 


31032 





232 


ゼロに よる 浮動小数点の 除算 


31033 





533 


アン ダフ 口 一 


51034 





334 


オペランド エラ一 


51035 





835 


才一 バフ 口一 


81036 





536 


シ グナリ ン グ^! 六!^ 



119 



図 …… 15 命令 中 例外 取得 プリミティブの 内容 



1)1115 8 7 1)110 



'び 


'び 


1 1 


丫 


丫 


丫 




丫 


ベクタ 番号 



値 


ベクタ 番号 


内 容 




500 


コプロセッサ プロ ト コル 違反 


31031 


531 


不正確な 結果 


81032 


お 2 


ゼロに よる 浮動小数点 除算 


81033 


333 


アン ダフ 口一 


21034 


^34 


才 ペラン ドエラ一 


81035 


535 


才一バ フロー 


31036 


536 


シ グナリ ング! ^八^ 



6 68881 と ホスト (:? リの 
コミュニケーション 



応答 プリ ミ テ ィ ブは麵 が 多 く , 68881 と ホス ト (:?ひ との コミ ュニ ケーシ ョ ンは 厄介な よ 
う に 思えます が, 実際に は 命令 ごとに 応答され る プリ ミ テ ィ ブの 88 は ほほ 決まって いるた め, 
考えなくて はならない 応答の- 88 は それほど 多く あり ません。 



^1 68881 内 レジスタ 間 演算/データ 転送 命令 



68881 内部の 浮動小数点 デー タ レジスタ どうし での 演算 ゃデー タ | 云 送 八 00 胃 X 0, 罾 
?? 1 など) の 手 1 頃 を 図 16 に 7 丁マ します。 

まず, (:?リ が これらの 命令 を コマンド じ1 尺に 書き込みます。 図 中, アクセス する レジスタ 
の 欄 は, その オペレーションで ホスト じ? II が アクセス する レジスタ を 示して おり, 応答 (:ェ 尺 
の 欄 は その 時点での 応答 011^ の 値 を 示して います。 

68881 は, ホスト じ? II に対して, 応答 0: 尺に! 50900 か 54900 (ヌル プリミティブ: 内部 処 
理 実行中) をセッ ト します。 この プリ ミ ティブの? じ ビッ 卜が セッ ト されて いると き, 68881 は 
ホスト 0?11 に 現在の? じ (プログラム カウンタ) の 値の 書き込み を 要求して いる わけです が, 
これ は X 68000 のよう な 使い方の 場合に は と く に 意味 を 持ち ません ので, 無 41 して しまって か 
まいません (書き込んでも エラーに はな り ません 力り 。 



120 



数値 演算 プロセッサ 



齡図 …… 16 ホス ト じ? リ と 68881 のコ ミ ュニケ 一ショ ン (その 1 〉 
68881 内 レジスタ 間 演算/データ 転送 命令 (。? クラス: 000〉 



ホス ト (;卩 リの 動作 



コマンド 書き込み 一 
応答 読み出し ― 

? 書き込み (省略 可) 



68881 の 動作 



(アイドル) 



ぶ アイドル) 



アクセス する レジスタ 



コマンド 旧 
応答 旧 

命令 アドレス ひ 1=1 



応答 旧の 値 



80802 

50900/54900 
50900 

50802 



(:?!) 力 《応答 じ1 尺 を 読み出す と, 68881 は 動作 を 11 始し, 演算, 丸め 処理 を 実行し, データ 
を 指定 さ れた 浮動小数点 デー タ レジスタ に樹內 します。 

命令の' 奥行が 終了す ると, 68881 は 応答 (:は を 30802 (ヌル プリ ミ ティブ: アイ ドル 状態) 
と して, ホス ト じ? II から 次の 要求が く るの を恃 ちます。 



0? 



レジスタと 外部 データの 間の 演算' 
外部から レジスタへの データ 転送 命令 



浮動小数点 デー タ レジスタと 外部 か ら 書き込まれる データと の 間の 演算 (? 八 00 罾 5 # 32 , 
な ど) や, 外部 か ら 浮動小数点 デー タ レ ジス タ への データ 転送 (?] ^0乂2 . 5 # 11 , 2 
など) の 手順 を, 122 ページの 図 17 に 示します。 

まず, ホス ト じ? リはコ マン ド じ1 尺に 演算 命令 や データ 転送 命令 を 書き込みます。 68881 は, 
この 命令に 対 し, 実行 ァ ドレス 鹏而 /データ 酝 送 プリ ミ テ ィ ブを 応答 01^ にセ ッ ト し, ホス ト 
0?1; に 対 し て デー タ 転送 を 要求 します。 

次に ホス ト じ? じ は, 68881 力 (要求して いる データ を オペラ ン ド じほ 経由で 68881 に 転送 
します。 転送が 終了す ると, 68881 は 応答 じ1 尺の 値 を 50900 (ヌル プリ ミ ティブ: 内部 処理 実 
行中) とし, データの 型変換, 演算, 丸め 処理な ど を 行い, 結果 を 命令で 指定され た 浮動 小数 
点デー タ レジスタ に 転送 します。 



121 



図 …… 17 ホス ト ロリ と 68881 のコミ ュニケ ーショ ン (その 2 〉 

レジスタと 外部 データ 間の 演算/外部から レジスタへの データ 転送 命令 ゅ卩 クラス: 010〉 



ホス ト 卩リの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 じ 1 8 の 値 


コ マン ド 書き込み—— 
応答 読み出し— —— 

ド 書き込み (省略 可) 
オペランド (データ) —— 
書き込み 

応答 読み出し^ —— 




(アイドル) 

変 
換 

演 
算 

丸 
め 

|〖 アイドル) 


コ マン ド じ1 ほ 
応答 018 

命令 ァ ドレス (:旧 
才 ペラン ド 〇 出 

応答!:^ 


10802 

実効 ァ ドレス 言 平価/ 
データ 車 強 プリ ミ ティブ 

38900 
50900 

50802 



^ 3 レジスタから 外部への データ 転送 



68881 内部の 浮動小数点 データ レジスタの 読み, リ', しの 手順 を 図 18 に 示します。 

データ フォー マツ ト と して パッ ク 形式 10 進 データ を 指定した 場合, データ 形式 (小数点 以下 
の析 数な ど) の 指定 力 5 ' 必要に なり ます。 この データ 形式 を X ファクターと 呼びます。 X ファタ 
ター を 命令 中に 含めて しまう のが 静的 (スタティック) X ファクター, データと して 別途 与え 
る のか 1 加 勺 (ダイナミック) I く ファクタ 一です。 

レジスタから 外部への 丰云送 手順 は, ダイナミック I く ファクタ 一力 《 使):' |:1 される 場合と, それ 以 
外の 場合に 区別され ます。 

まず, 通常の 転送で は, コ マン ド じ1尺 にコ マン ドを 書き込む と, 応答 011? と して 38900 か 
に 900 〈 ヌル プリ ミ ティブ: 応答 レジスタの 再読み 出 し 要求) を 返し, 68881 内部の データから 
コ マン ドで 寸旨定 された フォー マツ ト への 変換 動作 を 開始し ます。 

変換が 終了す る と, 応答 (:は は '奥行 ァ ドレス 謂 恥/ データ 転送 プリ ミ ティブに 変わり ます。 
ホスト じ? I; は, 68881 の, この 応答 を 待って, オペランド 01^ から データ を 読み出します。 



122 



数値 演算 プロセッサ 



勢 図 -…' 18 ホス ト 09 リ と 68881 のコミ ュニケ 一ショ ン (その 3 〉 

レジスタから 外部への データ 転送 〔0 ドク ラス: 010 ダイナミック" ファクタ— なしの 場合 



ホス ト (: ドリの 動作 68881 の 動作 アクセス する レジスタ 応答 019 の 値 



I マン ド 書き込み- 



応答 読み出し- 



^(: の 書き込み 
(省略 可) 

応答 読み出し ^ 



レジスタ 読み出し- 



応答 読み出し- 



(アイ ドル) 



(アイ ドル) 



コ マン ド 门只 
応答 01ほ 

命令 ァ ドレス (:^ 
応答 018 

オペ ラン ド 01闩 
応答 018 



80802 



38900/50 900 



実効 ァ ドレス 言平ィ 面/ 
データ 車适 プリ ミ ティブ 



30802 



レジスタから 外部への データ 転送 〈0? クラス: 011〉 ダイナミック 《ファクタ一 ありの 場合 



ホスト ドリの 動作 68881 の 動作 



コ マン ド 書き込み- 
応答 読み出し^ ~ 
[^書き込み (省略 可) - 
レジスタ 転送 



応答 読み出し^ ^ 

レジスタ 読み出し- 

オペランド (データ) 
転送 



応答 読み出し- 



(アイ ドル) 



換 



(アイ ドル) 



アクセス する レジスタ 



コマンド 018 
応答 じ^ 

命令 ァ ドレス 016 
オペランド 〇18 

応答 (:^ 

応答 018 

才 ペラン ド (:^ 
I 芯 答 018 



応答 じ I 6 の 値 



50802 



単- 



転送 プリ ミ ティブ 



58900 



88900 



実効 ァ ドレス 諮 面/ 
データ 転送 プリ ミ ティブ 



50802 



123 



読み出 し 力 ^"了 したら, ホスト じ? リ は 応答 011^ を 再度 読み出 します。 このと き の 応答 011? 
は 30802 (ヌル プリミティブ: アイ ドル 状態) となって います。 

ダイ ナミ ツク^ ファクタ 一力 吋!! 定 された 場合, 最初の)^ プ リミ ティ ブ では, 単一 メ ィ ンプ 
口 セッサ レジスタ 転送 プリミティブが 返されます。 ホスト (:?じ は, この 応答 を 兄て オペ ラン 
ド 01尺 II 由で X ファクター 値 を 68881 に 車 云 送し ます。 

68881 は, X ファクター 値 を 受け取る と, 応答 じ1 尺 をお 900 〈 ヌル プリミティブ: 内部 処理 
実行中) とし, 内部 データの 変換 動作 を 開始し ます。 

変換 力 《 終了 し た 後の 動作 は 先 ほど の 通常の 転送 と 同じで, 実行 ァ ド レス 謝 而 /デー タ 転送 プ リ 
ミ ティブ を 待った 後, データの 転送 を 実行し 最後に)^ じ1 尺で ヌル プリ ミ ティブ を 受け取つ 
て 終了し ます。 



^ コントロール レジスタの 転送 命令 



0^ 5 尺, I 八^の 1 つ, あるいは 複数 を 転送す るの が この 転送 命令 動作です。 転 
送 手順 を 図 19 に 示します。 基本的に は 浮動小数点 データ 転送と 大差 あ り ません が, データ 変換 
動作 力 5 ' 不要な 分, かんたん になって います。 

コマンド を 書き込んだ 後, 応答 じ1 尺と して 奥行 アドレス 謝 而/ データ 転送 プリ ミ ティブ カ^! 
されます。 ホスト じ? リは, これ を 受け取った 後, データの 転送 を 行います。 転送す る コント 
ロール レジスタと して 複数の レジスタ 力 吋 旨定 されて いる 場合に は, この データ!)! 云 送が 何度か 繰 
り 返される ことにな り ます。 

転送 か 終了したら, 応答 0尺 を 読み出します。 このと きの 値と して は 80802 (ヌル プリ ミテ 
イブ: アイ ドル 状態) 力 《返って きます。 



^ 5 複数 浮動小数点 データ レジスタの 転送 



複数 浮動小数点 デー タ レジスタ 転送 動作 を 126 ページの 図 20 に 示 します。 

複数 浮動小数点 データ レジスタ 転送 は, 転送す る レジスタの 指定 を 命令 中に 含める 場合 (ス 

タティ ック レジスタ リスト) と, 別の ノ 、'ラ メータと して 与える 場合 (ダイナミック レジス タリ 

ス ト) の 2 通りが あり ます。 
ス タティ ック レジスタ リストの 場合, 最初の 応答 じ1^ として, 複数 コプロセッサ レジスタ 転 

送 尺 力 射返されます。 ホスト じ? リ は, この 後, レジスタ 選択 (:ほ を 読み出し, 1 'になって 

いる ビットの 数 を 数える ことで'! |1 云 送す る レジスタの 数 を 把握し ます。 これ を もとに, ホスト 



124 



数値 演算 プロセッサ 



図 …… 19 ホスト じ! 3 リ と 68881 の コミュニケーション (その 4〕 



コント ロール レジスタ 転送 (読み出 し) 命令 (。卩 クラス: 100〉 



ホス ト ロリの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 1 8 の 値 


コ マン ド 書き込み 一 
応答 読み出し^ 

レジスタの 車^^ —— 
応答 読み出し^ 




(アイ ドル) 
(アイ ドル) 


コマンド (:^ 
応答 じほ 

オペ ラン ド 01 只 

応答 じ^ 


50802 

実効 ァ ドレス 評価/ 
た ±~ つ。 い ; ^ ノっ' 

丁 ― 5 '? 512^ ノリ ニ厂 1 ノ 

58900 
30802 



コントロール レジスタ 転送 (書き込み) 命令 (。卩 クラス: 101〉 



ホス ト じ 卩リの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 1 6 の 値 


コ マン ド 書き込み —— 
応答 読み出し^ 1 

才 ペラン ド (データ) 
転送 

応答 読み出し^ 




(アイ ドル) 
(アイ ドル) 


コマンド 〇1闩 
応答 〇1 ほ 

オペ ラン ド 门只 
応答 田 


50802 

実効 ァ ドレス 評価/ 
データ 車 云 送 プリ ミ ティブ 

28900 
30802 



0?11 は 68881 と オペラ ン ド 011 ^ま 由で データの 車 云 送 を 行い, 最後に 応^ 1 01^ を 読み出 して 
終了し ます。 

ダイナ ミツ ク レジス タリ ス ト を 使用した 場合, 最初の 応答と して は 単一 メ ィ ンフ 。ロセ ッサレ 
ジス タ 転送 プリ ミ ティ フ' が 返さ^ ホス ト じ? リ から レジスタ リス トの 転送 を 要求し ます。 ホス 
ト じ? II は 68881 に レジスタ リスト を 渡します。 こ:! 似 降の 動作 は, スタティック レジス タリ 
ス トの 場合と 同一です。 



125 



》 図 …… 20 ホス ト 0^ リ と 68881 のコミ ュニケ 一シ ヨン (その 5 〉 
複数 浮動小数点 デ一 タ レジスタ の 転送 (ダイ ナ ミック レジスタ リスト) 



ホス ト 0卩 リの 動作 



68881 の 動作 



アクセス する レジスタ 



応答 I 6 の 値 



コ マン ド 書き込み- 
応答 読み出し^ ~ 



レジス 夕 リスト 書き込み 
応答 読み出し^ ^ 



レジスタ マスク 読み出し- 



レジスタ 転送- 



応答 読み出し- 



(アイ ドル) 



30802 



コ マン ド (:^ 
応答 (:^ 
才 ペラン ド じ^ 
応答 出 

レジスタ 選択 016 
オペラ ン ド 01 ほ 
応答 01 尺 



早 一 

スタ 車^ プリミティブ 
58900 

複数 コプロセッサ レジスタ 
^プリミティブ 

88900 



80802 



(アイ ドル) 



複数 浮動小数点 データ レジスタの 転送 (ス タティ ック レジス タリ ス ト) 



ホス ト 0ド リの 動作 



68881 の 動作 



アクセス する レジスタ 



応答 (: I おの 値 



(アイ ドル) 



コ マン ド 書き込み- 
応答 読み出し^ ~~ 



レジス 夕 マスク 読み出し 



レジスタ 転送- 



応答 読み出し- 



コ マン ド 0:18 
応答 018 

レジスタ 選択 じ 旧 
才 ペラン ド (:ほ 



30802 



複数 コプロセッサ レジスタ 
車 適 。旧 

88900 



50802 



(アイ ドル) 



^ 6 条件付き 命令 処理 動作 



条件付き 命令と いうの は, 条件 ふ、 岐 (ョに) などの 命令の 総称です。 68881 が 68020 と 直結 



数値 演算 プロセッサ 



図 一… 21 ホス ト じ? リ と 68881 のコ ミ ュニケ 一ショ ン (その 6 〉 
条件付き 命令 処理 動作 



ホス ト じ ドリの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 じ 1 ^ の 値 


コンディション 書き込み 一 
応答 読み出し^ 






(アイ ドル) 


コンディション 门ド 
応答 016 


50800/50801 














(アイ ドル) 



されて い る 場合に は, 68020 は 68881 から 返された ステータス を もと に 分岐な ど を 行います 
が, X 68000 のよう な 使い方で は, このような 処理が じ? リ によって 行われる こと はなく, た 
ん なる ステータス チェック 命令と して 使う よりあり ません。 

この 命令の コ ミ ュニ ケーシ ョ ン 手順 を 図 21 に 示します。 最初の アクセスで コ マン ド で 
はな く, コンディション じ1 &を 使う こと に 注意して く ださ レ 、。 

応答 011^ として 返って く るの は ヌル プリ ミ ティブです。 指定した 条件が 成立した 場合に は 
80800, 成立し なかった 場合に は 30801 が 返されます。 



07 「5 八 已 5 丁 08 ョ 命令 処理 動作 



68881 の 内部 ステータスの セーブ/リストア を 行う 命令です。 この 命令の 処理 手順 を 128 ぺ 
一 ジの図 22 に 示します。 

? 5 八 ゃ2 命令の 場合, セーブ 尺 の 読み出 し 動作から 転送 謝 乍が 開始され ます。 このと き 
返って く る 値と して は, 次の 488 が あ り ます。 



30018 
50118 
《XX 18 
乐 乂乂8 4 



XIII 乙 ステー ト 

カム ァ ゲイ ン 
アイ ドル ステー ト 
ビジー ステー ト 



(転送す る データ はなし) 

(転送す る データ は 24 は 1め バイ ト) 
(転送す る データ は 180 (ゆめ バイト) 



XX は 68881 の バージョン を 示します。 カム ァゲ インカ 5 ' 返って きた 場合, ホスト じ? リは再 
度 セーブ じ1 尺の 読み出し を 行い, カム ァ ゲイ ン 以外の ステータス 力 ^ 返って く るの を 待ちます。 
カム ァ ゲイン 以外の ステータス 力 ^ 返って きたら, ホスト (:? リは, 各 フォーマット ごとに 必 



127 



秦図 …… 22 ホス ト 口り と 68881 のコ ミ ュニケ ーショ ン (その 7 〉 

ド 5 八 ソビ 命令 処理 動作 



ホス ト 卩リの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 じ 1 6 の 値 


セ了ブ 

20118: 
カム ァ ゲイン 

才 ペラ 


1 

01り の 読み出し^ ^ 

50018: リリ しし ステート 
ねズ18:10 ば II 
卿4:8リ5 丫 !! 

ン ド (データ) 転送— 




令 

(: 


7 ィ ドル) 


セーブ 016 
オペラ ン ド 018 


《门 8 门? 
ゆリ。 リこ 


厂^ 巳 5 丁 0?? 巳処: [里 動作 


ホス ト 卩リの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 1 6 の 値 


リ ス ト 
リ ス ト 

オペ ラン 


V 016 の 書き込み 一 

尸 じ18 の 読み出し— 
30018: リリ しし ステ一 ト 
5 XX 18:101 [: 11 
多 ズ乂84:8 お V 11 

ド (データ) 転送 








リ ス トァ 。旧 
リ ス ト ァ 旧 

オペ ラン ド 016 


58900 

/中断して いた 処理の) 
\ 実行 開始 ノ 



要な 量の データ 読み出 し を行レ \ 68881 の 内部 ステ ータ ス を 保存 します。 

? 1125X0^2 命令 は, ちょうど これと は 逆の 動作です。 リ ス ト ァ 動作 は, リストア 尺 に 
セーブ 尺 読み出し 時に 受け取った ステー ト 情報 を 書き込む ことから スター ト します。 この 
後, リストア じ1 尺 を 再度 読み出し, ^[リ しレ 10 し 2, 81157 のい ずれ かの ステートが 入って 
いるの を?! 鶴 忍して, セーブし ておいた 68881 の 内部 ステートの 書き込み を 行います。 



128 



数储 演算 プロセッサ 



08 例外処理 動作 



命令の 実行時, 68881 が なんらかの 異常 を 見つけた ときの 動作が 例外 処 310 力作です。 例外 助 作 
に は 命令 前例 外処 麵 力作, 851;^1 例外 動作, ドライ ン エミュレータ 例外 〈68881 が荚 行で きな 
い 命令 を 受け取った ときの) 動作, ? 3^乂2 フォ一 マツ ト 例外 (!^ 八 乂2 命令 動作 中に I ^八 乂2 
命令 を 実行しょう としたと きの) 動作, ?!^ :3 丁 0尺2 フォーマット 例外 (リストア じ1 只に 書 



き 図 …… 23 ホス ト (: 卩リ と 68881 のコミ ュニケ ーショ ン (その 8 〉 

命令 前 例外処理 動作 



ホス ト (: 卩リの 動作 68881 の 動作 アクセス する レジスタ 応答 01 闩 の 動作 



コ マン ド 書き込み- 
応答 読み出し^ ^ 



例外 ァク ノリ ッジ— 
の 書き込み 



(アイ ドル) 



コマンド 01 只 
応答 (:^ 

コ ン ト ロール 018 



80802 



命令 前例 外 取得 プリ 
ティブ 



(アイ ドル) 



ま 0802 



命令 中 例外処理 動作 



ホス ト ドリの 動作 



68881 の 動作 



アクセス する レジスタ 



応答 じ I ^ の 動作 



コ マン ド 書き込み- 
応答 読み出し^ ^ 



ド 書き込み 
(省略 可) 

応答 読み出し- 



オペランド (データ) 
転送 



応答 読み出し^ ^ 

例外 ァクノ リ ッジの 一 
書き込み 



(アイ ドル) 



コマンド 018 
応答 じ 爪 

命令 ァ ドレス 018 
応答 じ^ 

才 ペラン ド (:^ 
応答 011? 

コント ロール じ| 只 



(アイ ドル) 



30802 



30900 



88900 



実効 ァ ドレス 評価/データ 転 
送 プリミティブ 
50900 



命令 中 例外 取得 プリ ミ ティブ 



多 0802 



129 



ニケ ーショ ン (その 9 〉 



85 リ! \1 例外 動作 



ホス ト 0卩 リ の 動作 


68881 の 動作 


アクセス する レジスタ 


応答 じ 1 8 の 値 


コンディション 書き込み- 

応答の 読み出し^ ^ 

ド 。の 書き込み (省略 可)… 
例外 ァク ノリ ッジ 書き込み- 






(アイ ドル) 
(アイ ドル) 


コ ン ディ シ ヨン (:^ 
応答 018 

命令 ァ ドレス 旧 8 
コ ン ト ロール (: 旧 8 


30802 

命令 前例 外 取得 
80802 



図 …… 25 ホス ト じ^り と 68881 のコミ ュニケ 一ショ ン (その 邙) 
ドラ イン エミ ユレ一 タ 例外 動作 



ホス ト じ ドリの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 じ 1 り の 値 


コ マン ド 書き込み 一 

応答 読み出し^ 

ド (: 書き込み (省略 可) 
例外 ァク ノリ ッジの 書き 一 
込み 






(アイ ドル) 
(アイ ドル) 


コ マン ド (:^ 
応答 じ 旧 

命令 ァ ドレス (:^ 
コント ロール じ| 只 


30802 

命令 前例 外 取得 プリ ミ 
ティブ 

30802 



き 込んだ データ フォー マツ 卜が おかしい ときの) 動作な どが あります。 それぞれの 処理 手順 を 

図 23, 図 24, 図 25, 図 26 に 示します。 

いずれの 場合 も, ホスト じ? リは, 68881 カ^の 例外 通知 を 受け取った 後, コントロール じ1 尺 
への 書き込み を 行い, 68881 を アイ ドル 状態に 復帰させます。 



130 



数値 演算 プロセッサ 



図 …… 26 ホス ト 卩リ と 68881 のコ ミ ュニケ ーショ ン (その 11〉 
「5^\ソ 巳 フォー マツ ト 例外処理 動作 



ホス ト ドリの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 1 ^ の 値 


セーブ 门8 読み出し^^ 

ァ ボー ト 書き込み —— 






(了 


ィ ドル) 


セーブ 引8 
コント ロール 01ド 


(前の 「5 仰 [/「ぼ 5 丁 [^命、 
\ 令 処理 中 1 

30802 


「^巳 5 丁 尺 巳 フォー マツ ト 例外処理 動作 


ホス ト ドリの 動作 


68881 の 動作 


アクセス する レジスタ 


応答 1 6 の 値 


リストア じ18 書き込み一 
リストア 018 読み出し ^ 
アポ一 卜書き 込み 一 


は (^ズ) 






ィ ドル) 


リストア 1:18 
リストア 016 
コ ン トロール 门闩 


30802 



7 



68881 の 命令 フォーマット 



68881 の 命令の 大部分 は, コマンド じ1 尺 を 利用して 与える ものです。 ここで は, このよつ 
して 利用で き る 命令の 説明 を 行う ことにします。 



| 一般的な 命令 〈0 ドク ラス 000/01 0〉 



68881 の 命令 フ ォー マット は, その上 位 3 ビットで 大きく 分類で き, この 3 ビット を 0? ク 
ラスと 呼んで います。 68881 で 通常 使用す る 演算 命令 や, 外部から 68881 への データ 転送 は, 



131 



すべて 0? クラス 000 と 010 に 分類され ます。 0? クラス 000 は レジスタ どうし, 010 は レジ 
スタと 外部 データの 間の 演算 や 外部から レジスタへの 転送 命令 を 示します。 
これらの 命令の フォー マツ トを図 27 に 示します。 

!?/]^ ビッ ト 力 5 ', ソース データ カル ジス タカ、 外部から 与えられる データで あるか を 示す もの 
で, ,0 'のとき レジスタ, 丁のと きに 外部 データと なります。 ソース フィールド は, この^/! VI 
ビッ 卜に よって 意味 カズ 変わります。 が' 'の ときには, ソース フィールド は レジスタ 番号 
を, 靡 が' 1 'の ときには 与える データの 型 を 指定す るた めに, します。 &/] VI が 1, でソ 
ース フィールド 力ぐ 111 'のとき は?] 命令 (次に 説明し ます) になる ため, 機能 フィー 
ル ドの 意味が 変わ り ます。 

ディ ス ティ ネー ショ ンレ ジス タ#フ ィ ール ドは, 演算の 対象 や 演算 結果の 機内 先と して 使われ 
る 浮動 小& きデー タ レジスタ 番号 を 示します。 

機能 フ ィ ール ドは 演算 命令の 指定に 使用 します。 機能 フ ィ ール ドの 値と 行われる 演算の 関係 
を 図の 中に 示して おき ま したので, 参考に して く ださい。 



2 



!^ひ!!!) 命令 



68881 は, 円周率 や 自然対数の 底 に. 71828 …… ) など, 数値 演算のと きに よく 使用され る定 
数値 を あらかじめ チッ プ 内部の 尺 01\1 に 持って います。 これ を 読み出 し, 浮動小数点 デー タ レ 
ジス タに 転送す るの が?] \40乂20^ 命令です。?] ^0乂20? 命令の 命令 フォー マツ トを 134 ぺ 
一 ジの図 28 に 示します。 上位の 9 ビッ トは, 先 ほどの" "!ま 的な 命令の 尺/^ フ ィール ドを 'ド, 
ソース フィールド を ': 111, とした ビッ トノ 、'ターンに あたります。 

下位 7 ビッ トは, 68881 内部の 定数 1101^ ; [の オフ セッ ト (定数の 番号と 呼んだ ほう 力 5 ' 適切 か 
もしれ ません) を 指定し ます。 オフ セッ ト 値と ネ絲 內 されて いる 定数 値の 対応 を 図 中に 整理して 
おき ま したので 参考に して く ださい。 表に 載って いない オフ セッ ト 値のと ころに もな にがし か 
の データが 入って いますが, これ は 68881 の マイクロ コー ド 力 5 ' 使用す るた めの もので, ユーザ 
に は 解放され ていません (将来, 内容が 変更され ない という 保証 も あ り ません)。 



か 3 浮動小数点 レジスタから 外部への 転送 



浮動小数点 レジスタから 外部への 転送 命令 (?] \10マ2??0,乂乂 など) の 命令 フォー マツ ト 
を 135 ぺー ジの図 29 に 示します。 



132 



数値 演算 プロセッサ 



27 6888 1 の 命令 フォーマット (。? クラス : 。(!!)/!) 1 !)) 

ドク ラス 





ま 


す 


ソース 


デ イス アイ ネー シ ヨン 

4 ジス タネ 


機 能 



ま 


ソース 


ソース オペランド 


略号 




000 


1^0 






001 


^?] 






010 


2 






011 


ひ3 




,0, 


100 


1^4 






101 


び 5 






110 


ド" 






111 


厂?7 






000 


ロング ヮ一 ド 整数 


し 




001 


単精度 実数 


5 




010 


拡張 精度 実数 


X 




011 


パック 型式 10 進 実数 


? 


,1, 


100 


ヮー ド 整数 






101 


倍精度 実数 







110 


バイ 卜 整数 


8 




111 


く ド^0ソ に 08 命令〉 





機能 


八 ム 

叩 17 




500 


10 「も 


データ 転送 


301 


「^丁 


整数 部分の 取り出し 


|02 


「5 糊 


31!^ (双 曲 5 旧) 


103 


「1^1 丁^ 2 


整数 部分の 取り出し 

〔 に 丸める) 


^04 


闩ゅ 丁 


平方根 


^06 


^し 00~^1 


し 。^十,) 




「巴 丁 0X^1 


ゲ-1 


ま 


^丁/ \リ4 


丁/^!" II; 双 曲 丁/^) 


"ム 


丁^^ 


丁/ \リ 一 1 (デ ーク丁 八闪) 


^00 


「六, 


5|| ^一 1 (アーク 滴 


^00 


「ゑ 丁^^^ 


へ 
粗 


"ョ 


ド, 


511^ 


ま 


「丁^ 


丁^ 




「匚丁 0ス 


6ー 


511 


,0 丁 0ス 




ま 12 


厂丁 巳^ 丁 0乂 


ぼ 


114 


「し 0(3!^ 


し 08 


^15 


^し 06 10 


し。 2 10 


^16 


ドし 0(5 2 


し 08 2 



浮動小数点 命令 
(下の 表 参照) 



機能 


ふ ム 
叩 ~^ 






^85 


絶対値 


^19 




005 リ (双 曲コ サイン) 


わみ 


ぼ 6 


― X (補数) 


510 


^003 


1 (アーク 咖) 


310 




005 


^1 巳 


1^0 已丁巳 X? 3 


指数部の 取り出し 




1^(5 ビ丁! 


仮数部の 取り出し 


320 


厂 0ロ 


除算 


%2] 


^00 


モジュロ 剰余 


本 22 


^00 


加算 


|23 


「IV! 11 し 


乗"^ 


^24 


「56 し 01リ 


単精度 除算 


^25 


「隱 


剰余 (に ぼ 形式) 


^26 


ぽ六 し 三 


「巳 X I ま 2っ 


^27 


厂 56 し IV! 11 し 


単精度 乗算 


528 


^5118 


減算 


ま 30 




3 化と 003 を 同時に 求め 


1 




る (下位 3 おで じ05 を 入 


ぉ7 




, 
か 


お 8 




比較 


ま 




オペランドの テス ト 


お 

\ 


| (未使用) 




57「 







133 



I 図 …一 28 「〜。ソ己じ卩 (定数 データの 転送) 






1 





1 


1 


1 


ディスティネーション 










レジスタ お 



80!^ オフ セッ ト 



??01 ^オフ セッ ト^! 


格納され ている 値 


800 


冗 


^08 


し 。8, 2 


800 


6 


500 


し 0826 


30 & 


し 08 106 


50^ 


0.0 


330 


し 。ほ" 


831 


し 0^10 


532 


10 


533 


1 じ 


334 


ま 


335 


ぎ 


536 


10 8 


537 


10 16 


お 8 


10 32 


ま 39 


ま 


5 3 み 


ま 8 


538 


10 256 


830 


10 513 


530 


10 1024 


53 & 


10 2048 


53厂 


10 儘 



ビット 7 〜 9 で: 伝送 元の 浮動小数点 デー タ レジスタ の 番号 を, ビ ッ ト 10— 12 の 3 ビ ッ ト で 
外部に 出力され る データ フォー マツ ト (型) を 指定し ます。 68881 は, 浮動小数点 データ レジス 
夕の データ (通常 は 拡張 精度です) を 指定され た 型に 変換して' に 力 して き ます。 

下位 7 ビット は, データ フ ォ 一 マ ッ ト と して パッ ク形式 10 進 (^(:ひ を 指定した と き に 仮 
数 部 や 小数 部の 桁& 旨定を 行う ために 使用す る ものです。 前に 書いた よう に, この 指定 を X フ 
アクターと 呼び, ^ファクタ 一の す旨定 を 命令 屮 に 含める の を スタティック X ファクター, 別途 
データと して 与える の を ダイ ナミ ック X ファクターと 呼びます。 

X ファクター フィールド は, データ フォーマット が' 、。 ッ ク 形式 10 進 以外の ときには すべて 
と してく ださい。 

データ フォーマットが' 011,, すなわち, スタティック!^ ファクターの 場合, I く ファクター フ 
ィ ール ドは桁 数の 指定 を 行う データが 入り ます。 この データが 0, あるいは 負で ある 場合に は, 
ソース データの 小数 部分の 桁 数 を 指定 し, 正の 数の 場合に は 仮数部 分の 桁 数 を 指定 します。 た 
とえば, ソース データが 3141.59265 のとき, I く ファクター がー 3 だと 小数点 以下 3 桁, すな わ 
ち 3141 1 593 (丸めが 行われる ため, 最下位 桁が 3 にな ります) となり, こ れが 正規 化さ れて 
3.141593 2+3 力 5 ' 返って きます。 同様に, X ファクターが だと, 3, 142 2 十 3 となります。 



134 



数値 演算 プロセッサ 



き 図 …一 29 「1710ソ 巳 ドド!!,乂乂ぐ 浮動小数点 データ レジスタから 外部への 転送) 






1 


1 


テ' イス ティ ネー シ ヨン 
フ才 一 マツ 卜 


ソース レジスタ 共 


ぺ ファクター 













テマ ステ イネ ーショ ン 
フォーマット 


データ フォー マツ ト 


略号 


000 


ロング ワード 整数 




001 


単精度 実数 


5 


010 


拡張 精度 実数 


X 


011 


パック 形式 10 進 






静的に ファクター 




100 


ヮー ド 整数 




101 


倍精度 実数 





110 


バイト 整数 


8 


1 1 1 


パック 形式 10 進 






動的 ド ファクター 





(ディ ス ティ ネー シ ヨン フォ 一 マツ ト が , 



: き) 



《ファクタ一 


有効 桁 


― 64〜 
十 1 〜十 17 
+18 〜十 63 


小数点 以下の 桁 数 指定 
仮数部の 桁 数 指定 

エラー。 処理 は +17 と して 動作 

1 の ビッ トカ; セッ) 
\ 卜される ノ 



(ディスティネーション フォー マツ 卜が' 111, のとき) 



I I 
レジスタ^: 

I I 















メイン プロセッサの データ レジスタ # 



: ディスティネーション フォ一 マツ トが 

'(! "'か'" 1 '以外のと き は 

ぺ ファクタ ビット はすべ て ,0 'にす る. 



X ファクターが 屮3 の ときには, 仮数部の 桁 数が 3 桁と いう ことです から, 3.14 2+3, 十 5 
なら 3.1415 2+3 という ぐあいに なり ます。 

データ フォーマットが' 111〜 すなわち, ダイナミック X ファクターの 場合に は, ^ファクタ 
一 フィールド は X ファクターの データが 入った メイン プロセッサの レジスタ (ひ。〜!)?) 番号 
を 指定 します。 こ れは 68881 が 68020 と 直結 されて いると き に 有効な も ので, X 68000 の 場合 
に はと く に^ 味 は あ リ ません (コ ミ ュニ ケーシ ョ ン 手順のと ころも 参照して く ださい)。 

ダイナミック X ファクター を 使用し た 場合, 6888 1 に^ ファクター データ を 別途 引き渡さな 
く て はなり ません。 この 手順に ついては, 先に 説明した コ ミ ュニ ケーシ ヨン 手順のと ころ を 参 
照して ください。 



135 



4 



コントロール レジスタの 転送 



68881 力で 持って いる? ?01 ?? 5^ I 八^の 各 レジスタの 車 云 送 を 行う のが この 命令です。 
命令の フォー マツ トを図 30 に 示します。 

ビット 12, 11, 10 が それぞれ?? (:卩, ?? 5^ ? ?1 八 尺に 対応し, 1 'になって いる レジス 
タか 1 云邀ォ 象と なり ます。 ニー モニック 上 は 単一 コン トロール レジスタの 転送 を 行う ^0乂2 

び と, 複数の コントロール レジスタの 転送 を 行う ?] \10ソ21^ びに 分かれ ますが, 命 
令 フォー マツ トは どちらも 同じで, たんに ビッ ト 12, 11, 10 のうち, どれ か 1 つし か' 1 'になつ 
ていない か, 複数が' 1 'になって いるかと いう だけの ことです。 

攀図 …一 30 コント ロール レジスタの 転送 (「^。ソ巳 ^9^1^0^^\ ド 



! 111 15 13 12 10 1)1*0 



1 





6^ 


レジスタ 選択 

































1 : 「円/^ を 車 云 送す る 
0: 1/ しない 

1 : ド ぼ8 を 転送す る 
0: 〃 しない 

1: 「「(^を 転送す る 
0: 〃 しない 



転送 方向 

1 : 68881 から 外部 

0: 外部から 68881 



5 複数 浮動小数点 データ レジスタの 転送 



68000 の 1\40乂21\1 命令に 相当す る のが, 複数の 浮動小数点 デー タ レジスタ の 転送 命令 
(ド] ^(^乂丑!^) です。 命令 フォーマット を 図 31 に 示します。 

8 本の 浮動小数点 データ レジスタ のどれ を 転送し, どれ をお 送し ないか は, レジスタ 選択 フ 
ィ ール ド で 指定す る 方法 (静的 レジスタ リスト) と, 別途 デー タ として 与える -施 (動的 レ ジ 
スタ リスト) のい ずれ かで 選択で きます。 さらに, レジスタ リストの & ビットと^ レジスタの 
対応が 2 通 り ずつ あ り ます。 複数の データ レ ジス タ を!!! 云 送す る 場合, 68000 では ボス ト インク リ 



136 



数値 演算 プロセッサ 



》 図 一… 31 複数 浮動小数点 データ レジスタの 転送 〈^0^0^ ド ド") 



1 


1 


づ「 













1 1 1 1 1 : I 

レジスタ 選択 



各 浮動小数点 データ レジスタ を 
転送す るか 否か を 決める 





レジスタ 選択 


転送 モード 


ヒは 7 


6 


5 


4 


3 




1 


5110 


00 


^7 


「ド6 


「「5 




「?3 


?? 2 


「円 


ド?0 


静的 レジスタ リスト -(八。) 


10 


^0 


「円 


?? 2 


ド 「3 


^4 


「ド 5 


^6 


^7 


I! (ん 〉十 


01 























動的 レジスタ リスト バ ん) 


11 























11 (ゆ 



: レジスタ 選択 データが 格納され ている データ レジスタの 番号。 
ビットの 配列 は. 静的 レジスタ リストの ときと 同様, モード ビットの 下位 ビ': 
応じて 変化す る。 



転送 方向 

1 : 68881 から 外部 
0: 外部から 68881 



メント ((^(! 十) など) や プリ デクリメント ((一 ^0〉 など) の アドレッシング モード を 使用す 
るの が^! 如 勺です が, この 両者で は データ ホ云送 を 行う リ 醉が 逆にな ります (プ リ デク リメ ント 
で'?? 0, ?? !, 2 の 順序で 待避した もの を ポスト インクリメントで 取り出す とき は?? 2, 
ヌ? 1, ?? の 順で 読み出される)。 68881 は, どちらの 顺序 での データ 入出力 も 可能な ように 
している わけです。 

これら の 組み合わせで 得られる 計 4 通 り の 転送 モー ドの いずれ を 使用す る か を 選択す る のが 
モード フィールド, データ の 転送 方向 を 決め る のが お ビ ッ ト です。 



6 条件付き 命令の フォーマット 



射钊 寸き 命令と は^ 5^ 命令な どの 総称です が, X 68000 の 場合に は 68881 を 1/0 デバ 
イスと して 接続して レ 、 ま すので', こ の 命令 はたんに 条件 を 与えて 前回 ま での 演算 結果が それと 
一 4X1 "るか 否か をチ エツ ク する だけの 命令に な り ます。 

この 命令の フォー マツ トを 138 ページの 図 32 に 示します。 

下位 6 ビッ ト (コン ディ シ ヨン フィ ール ド) で 条件 を 与える と, 68881 は それと 演算の 結果 得 



137 



られ ている フラグ を 上!^ 交し, ち-え ら れた斜 牛が 成立す る 力、 否か を^ じ1 & によって 返して きま 

參図 …… 32 条件付き 命令 



&11 15 6 5 6110 

































コンディション 




」 ノ アイ ズゴ/ 


ニー モニック 


^ 喊 


001 ||\| ド "ダ ^ 
00 リ圍、 し ン 「 


I に 


100 




偽 




ド 3 156 


501 


印 


等しい 




し 


^02 


00 丁 


オーダで よ り 大きい 




圓 マ、 


ま 03 


00^ 


オーダで よ り 大きい か 等しし、 




巳 叮圆、) 


^04 


し 丁 


オーダで よ り 小さい 




2 ヽ國ヮ 〕 


お 5 


し已 


オーダで よ り 小さい か 等しい 






^06 


06 し 


オーダで より 大きい か, より 小さい 




画 マ 


|07 


0^ 


才一 ダ一 




丽 


お 8 


11^ 


アン オーダ 






お 9 


1)^0 


アン オーダ, または 等しい 




リぎ ヱ 


お八 


じ0 丁 


アン オーダ, またはよ り 大きい 






^08 


1)0 已 


アン オーダ またはより 大きい か 等しい 




圖リ^ 


ま 


じし 丁 


アン 才一 ダ, またはより 小さい 




國 マれ) 




11 し 巴 


アン オーダ, またはより 小さい か 等しい 






^0 巳 


^曰 


等しく ない 






鞭 


丁 


首 




に 「リ 6 


110 


3 ド 


シグナ リ ング偽 


[^^コンテ' ィ 


ド 3156 


^11 


5^ 


シグナ リ ング 等しい 


シ ヨン コード 




ま 12 


丁 


よ り 大きい 


力く セッ 卜され 


画 マ 1 ^ 


^13 


ぼ 


よ り 大きい か 等しい 


たと きに 


スヽ瞧, 


^14 


し 丁 


よ り 小さい 


8, ビッ ト 


^^(^"!) 


^15 


し已 


よ り 小さい か 等しい 


を セットす る 


1 ヮ へ 巾 


ま 16 


6 し 


よ り 大きい か, より 小さい 






^17 


6 しビ 


より 大きい か, より 小さい または 等しい 






ま 18 


^^し 巳 


811 でない 




画 


ま 19 


【 し 


6 し II 




關 マ 


ま 


^しに 


し已 1! 




^八^ リ (^!) 




^ し 丁 


し 丁 〃 




圓マ顿 


ま 


(^巳 


13 巳 II 




國 卞ゥ) 




1^ 丁 


丁 !1 




リ 2 リ 1^1 


わ 5 


51^6 


シグナ リ ング 等しく ない 








3 丁 


シグナ リ ング真 




丁 「116 



す。 コンディション フィ ール ド値 がお ム :1± の 命令の 場合, 68881 内部の 〜^^[(^[(^ 八 ^001 
1)61 ": 無限大 十 無限大な ど, 数学的に 意味の ない 演算 を 行った 場合 セッ 卜される) ビッ 卜が セッ 
ト されて いると, 31? レジスタの 1331;!^ ビッ ト をセッ ト します。 



138 



数値 演算 プロセッサ 



サンプル プログラム 



68881 の 使用— が 去の 例と して, 尺 01\1 内 データの 読み出し, 単項 演算 (ぉ!^ひ.。)), 二 項 演 
算 は. 1415+2.7182〉 の 3 つの サン フリレ プログラム をつ く つてみ ま したので 参考に して く ださ 

い。 

秦 リスト …… 1 ^01^ 内 データの 読み出 し 

! 共 

\ 68881 内部に ある 円周率 デ一 夕の 読み出し 
I、 XI: の 場 台に は 

ネ 9(16 で 1ひ6 ソ0131じ6 

^ の 1 行 を 入れて ください 

#11^111(16 '^[(^(^ ヒ 

11111011 0/1 丁 《 

1111818116(1 311011 5(^1; 
1111312116(1 1111: 

^0111)16 ^1 ; 

1 お I; 

111131^6(1 3 11011 
111131^116(1 3ヒ01:1: 
1111512116(1 311011: 
111151^6(1 311011: 
111131^16(1 311011 
111155^16(1 31101-1 

1111512116^ 511011: 
111181^6(1 311011 
1111318116(1 
111181^6(1 811011 




00111101 ; 

1-65 1016 ; 

0^61 & 11 011^01(1; 

00 簡 311(1 ; 

『6561^61 ; 

0011(1111011; 

0^613110 ; 



I、 1^01 1156(1 キ/ 



139 



1111318116(1 311011 
1111312116^ 1111: 
1111812116(1 1111 



乂。131:116 8111101 018 ^011 : 〔3 ひ リ" 018 旬0ズ696000; 



1*636^6,2; 

1^11101:1011.3(1(11658 ; 

0^)61^11(1—3(1(1 で 653: /氺 1^01 1136(1 氺/ 



乂。^ ^!!。 ; 

乂0ぉ ま 1^00^X00 ; 



—〉 001111113 ^づ ^ 0x5000; 

^1し 。(^"((^(^[!ミ) ; 

じ 1で 一〉 00111111311(1 ^ 0x6400; 
^1 で 一 卿!:ひき刚め ; 
(!^. 1(131 : じ1 で 一〉 0^)61*311(1; 

V & 1 し。 01)10(0x080 2〉 ; 
1)1*11^(11 : %^\^^. 



I、 讀 #0, ?? V 
I、 画 化5 ?? ^ XXX V 



腕); 



マ。" もほ1 1— 00 口 『0(^65 口 ひ!^^) 

1111812116(1 3ヒ〇で1: 163)301156; 

111151^1)6(1 1 ひ 1: 1, 30^; 

^01 〈1=0; 1(0x20; \ 

& 0^ 二 011*^1631)01156; 
口]: 111 "("馳^" ,3。10 ; 
は ((お お & 0X^17:0 に 『65ジ01136〉 
1)16 & 1^; 



几 も!^ 氺氺 氺氺氺 キ 氺氺 水キ^!1 



I、 -一- 実行 結果 一一 

ホ 0900 
ネ 0802 

^ ホネ承ホネ承ネ氺:!:ホ 
ネ 8900 
キ じ 104 



140 



数値 演算 プロセッサ 



承 0802 

ネ I : 3, 141593 



'リスト …… 2 単項 演算 ^^(し幻) 



I、 

^ "ひひ』) の 計算 

/キ 冗 の 場合に は 
ネ #は6 で 1116 乂〇131116 
^ の 1 行 を 入れて ください 

#1110111(16 81^10 1 ヒ 



は II 1011 八丁 | 

111151^6(1 01131 0(1^1: 

1111518116^ 3(1^1: 
111181^6(1 1111 1(^31 

钉0れ ^31; 

^0111)16 ^31 ; 

1 ヒ31; 



511-1101 018 
111151811601 
1111318116(3 

1111312116(1 
1111318116(3 
111131^116(1 
1111512116(1 
111151^6(1 
111131^116^ 
1111312116(1 
は 1181 8116(1 
111131^6(1 
1111318116(1 



5 11011 1*651)01156; 

51101-1 00111101 ; 

3110 バ 53乂6; 

51101*1 1651016; 

81101*1: 0?61^31:1 011— 叫 01X1 ; 

311011: 00111 III & 11(1 ; 

51101 1 1; 『已^ら厂乂^丄 ; 

511011: 0011(1111011; 

1111 0ロ61^11 づ ; 

81101 1 1 1 6^1316^561601; 

811011 で6561^62; 

1111 1115 11110 11011^(1(11653; 

1111 0^)61-311(1 3(1(1 1^655; 



I、 ^01 1136(1 ^1 



I、 ^01 1136(1 V 



141 



リ〇1 さ 1116 811-1101 018 ^11 : (ミひリは 011? :00ズ696000; 

ソ01は 膨れ。 ; 

乂01 づ ^31 1^00^100 ; 

? 01^ 013111 



ま し 卿]: 。((^刚め ; 

^3し 1(131 : (; 11 "一〉 0^61^11(1; 

^11.00^10(0x080 2)1 
口 1*1 "バ" 3^(1, 0〉 : 

乂01 ヒ 1:ー1:0 口:" 0(^65 口 ひ!^。) 

111181^6(1 3 1101 1: 165?01136; 

1111512116(1 11)1 1, & 0^; 



化!" 〈1=0; 1 く 0x20; !+十) I 
3 は 二 01 !—)! 631)01156; 
口 "ひ ば ぐ10む?11 ",& 吐) ; 
II ((& 0^ & 0x6 でで で) 二 二 !^ミ!^!^め 

^1-11^1:^ 氺氺氺 キ氺 氺本丰キネゼ11 ; ; 



/ホ --— 実行 結果 -一- 

ホ 9504 

ネ 0900 
ホ 0802 



5 !]? 28(0 ; 

づ3し 化 31 : 丄. 0; 

011: —〉 (^爪!!^!:づ 二 0x4406; 
^21 し 00 口:: 。((^亏!)" ; 
じ 1 で 一〉 01)61:311(1 : 1(131 
^001)10(0x080 25 ; 



/ネ ? 51^1.5 #し 0,??0 V 



011: —〉 00111111311 づ 二 0x6400 ; 



/ホ 画 お. 5 卿, XXX V 



142 



数値 演算 プロセッサ 



キ 8900 
丰 5104 

キ 0802 

ネ 311^1,0〉 = 0.841471 



リ ス ト …… 3 二 項 演算 ひ." 15 — ?.? 182 ) 



I、 

% 3 1 1415+2, 7182 の 計算 

I、 X。 の 場合に は 

ホ の 1 行 を 入れて ください 
ぉひはま ^(!化. 11 



11111011 八丁 | 

111151^116(1 0(13.1 

111131 お 16 づ 1^11 1(131 

1031 1(131 ; 

づ011 ヒ 16 (!^^! ; 

1 I; 



8 1:11101 011? 
1111818116(1 

は 1131 8 ひ 6(1 
1111518116(1 
1111312116(1 
111131^6(1 
111131^116(1 
111131^6(1 

瞧 18116(1 



8 1101^1 165^01136; 
311011 00111:101 ; 

51101^ 3^6; 

1^631:016; 
311011; 0^)61^1 011— お 01x1 ; 
31101-1; 00111111311^ ; 
311011: 6361^61; 
31)01 1; 0011(1111011; 
1111: 01361311(1; 
3^01-1: 16^131:61 1 ^561601: ; 
511011: 『6361^62; 



/承 付 01 1136(1 V 



143 



111131^116(1 1111 1113 亡!^^ 011—3(1^1X55 ; 

111131^6(1 1111 013613110^ ^65 3 ; /キ 1^01 1156^ 氺/ 



\^131116 3111101 0112 ^011 : 〈5 ひ "は 0115 ホ) 0X696000; 

乂01づ 1113111 ; 
701(1 V & 11; 一 卿 10。 ; 

乂。" 0131110 

祉 腕 : 3 1 1415; 

011 "一〉 00111111311(1 二 0x4400; 
^311:〜 。。。『。((?ズョろりも) ; 
じ1で 一〉 05)61*311(1 二 はれ. 1(131 

(^^。((^(^!^) ; 
き 胞 二 2.7182; 

(^! 1 — 、(^爪!!^!!^ ^ 0x4422; 

^!:— 卿 "((^ラりめ ; 
(^『一 〉0ロ61^11づ 二 づ31 1(^31 

^1 し ^0I^0(0x0802) ; 
01『ー ,(^爪!!^!!づ 二 0x6400; 

ぬ1 ひ (^^((!ズ!)]^) ; 

1(131 : 01 で 一〉 01361*311(1 

V/31^^^0I^I'0(0x0802) ; 
口]: 1ひ ぱ 1415 十 ん 7182 

ソ01づ ゃ3 11—00^^0 〈 1^31)01136 ノ 

1111512116(1 巳ヒの!^ 1 1 65^01156; 

1111512116(1 1111: !, & 0^; 

^0V (!^; ! く 0x20; 丄+十) | 

30^ 二 01厂ー 〉 で 63ジ01156; 
口!^ 11^(104X^^,3010 ; 
1で ((^(:ぉ & (^[^ぞ! 1 ) 二 二 『65 口 。!^^ 



/キ 隱 8 #3, 1415. ?? V 



I、 ?脆 5 7183 1 ??0 ^ 



/ホ [?麗 ,5 ?? 0ぶズ V 



144 



数値 演算 プロセッサ 



もチ' ("丰氺:^:^ 5 ^ 1 ^?!!") ; 



^ --一 実行 結果 一一 

氺 9504 

ホ 0802 

ホ 9504 

ホ 0802 

ホ 8900 
ホ 5104 

水 0802 

ホ 3 1 1415 十 ヌ. 7182 : 5 1 859700 



145 



丁 〇 



8 丁 は, 現在の 日付, 時刻 を 保持す るし 51 です。 X 68000 で \ 
は, 8 丁 (: を 計時 動作の ほか, 指定 時刻に なると 自動的に 立ち 
上がる 夕 ィ マ 動作の 実現の ために 使用 しています。 ここ では, 
/71-0 の アクセス 方法な どに つ I 、 て 説明し ま す。 



^丁 〇 周辺 ブロック 



X 68000 は, 円 付, 時刻な どの 保特ゃ アラーム (タイマ) 動作 を 行う !^丁じ (リアルタイム 
クロック) として リコー 製の!?? 5015 という に を 使用して います。 乂 68000 では, この I じ 
を 時計と しての 用途の ほか, 指定 時刻での 本体' お 源の 01^ (タ ィ マ 機能) や, 本体 前面に ある 
丁 11^2 只-し 20 の 点滅 制御な ど に 使用 しています。 

X 68000 の 尺 丁 (: 周辺 冋路の ブロック 図 を 148 ページの 図 1 に 示します。 基本 クロック とし 
て は, 時計 に 川で は 一般的な 32.768 X132 の 水晶 発振 子 を 使用して おり, この 発振 周波数 を 
内部で 分周 し て 1 秒 単位の クロック を 作成 しています。 

尺? 5 じ 15 に は ^し 众&] VI と じ 乙 《01; 丁 という 2 つの 出力 信号が あ り ます。 八し^^ VI 出力 
は, 日付, 曜 I 七 !^, 分が あらかじめ 設定した ものと 一致 するとし レベルと なる 出力です。 
X 68000 では タイマ 機能と して 使用 するとと もに, この 出力 を] VI?? (マルチ ファンクション 
ベリ フエ ラル) の 0?1? の ピンに 按統 し, この ピ ンの 出力 デー タ 力 喑兗 め るよう にして います。 

(:乙^ひリ 丁 端子 は, ソフトウェア によって, 乙 レベル や ハイ インピーダンス 状態, 6 ネ 111 の 
周期での パルス 出力の いずれ かが 選択で きる よ う になって いる 出力です。 乂 68000 では 



147 



き 図 …… 1 6 丁 (: 周辺 ブロック 図 



口 

ェ 



32.768^2 



電源 制御 



^5015 



^し删 

050 1门 

じ し^ じ 丁 
050 じ 丁 



丁 |旧6 「-し ビ の 
点滅 制御 



^^^"^!) の 点滅 動作に 使用 しています。 

!^!^じ^ の 電源 は, 本体 背面の メイン スィ ツチが 〇! ^にならない かぎり ィ辩合 される 電源 ラ 
イン (〃(^:之) とバッ テリの 両方から 伊^^され るよう になって います。 从0:2 力^^ 含され てい 
ると き, 電源 は 尺? 5015 に 働 含され ると ともに, す 5 抗を 通して バッ テリ を 充電して います。 
ソ。。 2 力、 一 切れた とき (背面の メイン スィッチ を 切った とき や 停電した とき) に は, この 充電し 
ていた バッ テリに よって, は 勤 作し つづけます。 



2 



丁 0: の レジスタ 



I? 丁 (: の 持つ レジスタの 一覧 を 図 2 に 示します。 尺丁じ に は 通常 8 ビッ ト (バイ ト) 単位で ァ 
クセス します 力、 尺丁じ は データ ノぺス を 4 ビッ ト しか 持って いないため, 有効な の は 最下位の 4 
ビッ ト だけです。 

1110 の レジスタ は 2 つの バンク 構成に なって おり, どちらの パ' ンクに アクセスす るか は, 
1\4002 レジスタ (アドレス : 828 八 01 8〉 のビッ ト です 旨定 します。 !^丁じ の レジスタ のうち, 



148 



6 丁 じ 



2 只 丁 の レジスタ 




内 容 



し ぺ0 じ 丁 
セレクト レジスタ 

アラーム 

1 分 レジスタ 

アラーム 
10 分 レジスタ 

アラーム 
1 時間 レジスタ 

アラーム 
10 時間 レジスタ 

アラーム 
曜日 レジスタ 

アラーム 
1 曰 レジスタ 

アラーム 
10 曰 レジスタ 

(未使用) 

12/24 時間 
セレクタ 

うるう年 
カウンタ 

(未使用) 

リ00 已 
レジスタ 

丁 巳 3 丁 
レジスタ 

昍5已 丁 
コントローラ 他 




1^01)2 レジスタ, 丁 23 丁 レジスタ, 1^232 丁 コントローラの 各 レジスタ は, バンク 指定 はな 
く, つねに 828 八 018, 328 八 010, お 58 炎 01? 番地で アクセス できます。 

年月日の レジスタ は, すべて 800 フォーマットで アクセス さォム 1 の 位 を 麟 する ものと, 
10 の 位 を 保 4 寺す る レジスタに 分かれて います。 設定す る 値の レンジ チヱ ック など は 行われ ませ 
ん ので, ありえない 値 〔1 の 位 を 設定す る レジスタに お八 以ヒの 値 を 設定す るな ど) を 行わな 
いように 気をつけて ください。 



149 



か 1 



し に0 リ丁乜 レクト レジスタ 



じ し I く リ丁 セレク ト レジスタの ビッ ト 配置 を 図 3 に 示します。 じ1^01 [丁 レジスタ は ,(: 乙 X 
011 丁 端子に どのよう な 信号 を 出力す るの か を 決定し ます。 (:!^!)!] 丁 レジスタ のうち 有効な 
の は 下位 3 ビッ 卜で, これによ つて 図に 示す ような 8 種類の 出力 を 選択し ます。 乂 68000 では, 
じ1^0 リ丁 を 本体 前面の 丁 し20 の 点滅に 使用 してお り , (; し I く 011 丁 端子が 9 レ 

ベルのと き に 点灯す るよう になって います。 このため, この レジスタに' 1 1 1 'を 設定す ると 消灯 
し, で00 'にす ると (ハイ インピーダンス は^ レベルと 同じと 考えて ください) 点灯, 101 'を設 
定 すると 1 秒 周期で 点滅す る よ う にな り ます。 

設定 を' 101 'にした とき は 立ち上がり エッジ (しから II への 変 イ^ と 秒 カウンタ カ^! む タイ ミ 
ングカ 《 一致して おり, 110 'に 設定した とき は 立ち上がり エッジ 力 5 ' 分 カウンタ 力 5 ' 進む タイ ミ ング 
と 一致して います。 




0しぺ0 リ丁 端子の 出 力 波形 選択 
000: ハイ インピーダンス 
001 : 16.38 化 42 
010: 1.02 糊 2 
011 : 1281-12: 
100: 161-12 
101 : II "!ピ 1 
110: お? 2 
111: "し" レベル 固定 

氺 1 :1: し 《0じ 丁の 立ち上が り で 
秒 カウンタが 進む 

ホ 2: し べ0じ 丁の 立ち上 力 5 り で 
分 カウンタが 進む 



0-9 



アジャスト レジスタ 



アジ ヤス ト レジスタの ビッ ト 配置 を 図 4 に 示します。 アジャスト レジスタ は, 秒 カウンタ 〈1 
秒 カウンタと 10 秒 カウンタ) を アジャスト, すなわち にク リアす る ものです。 アジャスト は 
たんなる ク リアと 異なり, 秒 力 ゥンタ の 値が 30 11 ヒ の ときには 分 カウンタが インクリメント 



150 



9 丁 じ 




秒 カウンタ アジ ヤス ト 

1 : アジャスト リ 
: 〃 0ド「 

# 秒 カウンタが ― 29 のとき に アジャスト 
すると, たんに 秒 1 カウンタが になります。 
秒 カウンタが 30 — 59 のと きに アジ ヤス ト 
すると 分 カウンタ を 進めた 後, 秒 カウン 
タを にします。 



します。 たとえば, 10 時 29 分 29 秒のと きに アジャスト すると 10 時 29 分 00 秒に, 10 時 29 
分 30 秒のと きに アジ ヤス ト すると 10 時 30 分 00 秒と なり ます。 

アジ ヤス ト レジスタ は 最下位 ビッ ト だけが 有効で, この ビッ トを, 1, にす ると アジ ヤス ト 謝お 
になり ます。 



03 12/24 時間 乜レ クタ 



12/24 時間 セレクタ は, 時計 を 12 時間 計で カウン 卜する か, 24 時間 計で カウン トす るか を 指 
定 する ものです。 この レジスタの ビッ ト 配置 を 図 5 に 示します。 12 降 問 計と した 場合, 10 時間 
レジスタの ビッ ト 1 カミ' 午前/^ を 示す ビッ ト となり ます。 ,0, で 午前, ,: I, でお 麦 を 示す ように 
な り ます。 X 68000 では 24 時 問 計で 力 ゥント を 行って います。 



5 12/24 時間 セレクタ 巳 ム闪《1, 3 匚 8 パ 015 



12/24 



12 時間 計 ゾ24 時間 計 選択 
1 : 24 時間 計 
0: 12 〃 



時間 計のと き, 10 時間 
カウンタの ビッ ト 1 で 午 
前/午後が 示されます。 

〔0: 午前, 1 : 午後) 



151 



か 4 



閏年 カウンタ 



ビッ ト 配置 を 図 6 に 示します。 閏年 カウンタ は, 閏年から 何年た つてい るか を 設定す る レジ 
スタ です。 で0 'のとき, その 年が 閏年の 扱いと なり, 2 月が 29 日 まで カウントされ るよう にな 
り ます。 閏年 カウンタ は 1 年 ごとに 自動的に インク リ メ ン ト されます ので, 閏年の 例外 ひ00 で 
割り切れて 400 で 割り切れない 年は閩 年と しない) 力、' 発生し ないかぎ リ, そのまま 放置して お 
いても, 自 動的に 閏年の 処理が 行われ ま す。 

こ の 例 附昔置 力 5 次に 行われる の は 西暦 2100 年, いま か ら 100 年^ も 先の こと です か ら 洒 
暦 2000 年 は 100 で 割り切れる 年です が, 400 でも 割り切れる ため, 閏年と なります), この レ 
ジス タ に は 西暦の 年数 を 4 で 割った 余 り を 書き込め ばよ いこと になります。 



図 一… 6 閏年 カウンタ 8 パリ XI, 3 巳 8/^17 




閏年から 経過した 年数 
00: 今年が 閏年 
01: 3 年後が 閏年 
10: 2 年後が 閏年 
11: 来年が 閏年 



本 西暦 2099 年まで は, 必ず 
4 年 ごとに 閏年と なる た 
め, 西暦の 1 "年" を 4 で 
割った 余り を 設定 すれ ば 
よい 



5 1\^005 レジスタ 



1^002 レジスタ は, 節 1 き-動作 や アラーム 動作の 許可/禁止, レジスタ バンクの 選択 を 行う レ 
ジス タ です。 ビット 配置 は 図 7 のように なって います。 ビット は, ^?5じ15 の レジスタ バ 
ンク のど ちら 側に アクセスす るか を 決める ものです。 一度 書き込む と, 次に 別の 値 を 書き込む 

まで その 状態の まま にな り ます。 1111111311 68 X は 通常 動作 時には この レジスタの 変更 は 行わな 

いよう なので, デバ ッ ガ などで 書き込み を 行っても 大丈夫です。 



152 



6 丁 



》 図- 



7 171006: レジスタ 3 巳 8^018 





タイマ^ 1 


アラーム^! 




8 舰 1 70 



レジスタ バンク 選択 

1 : 8 皿 1 
0: 國ぺ 



アラーム 動作 許可/禁止 
1 : アラーム 動作 許可 
: II 禁止 



タイマ 動作 許可/ ^ 

1: タイマ 動作 許可 (通常 動作) 

0: II 禁止 (秒 以降の カウンタ は 停止) 



ビット 2 は アラーム 動作 は 68000 では 指定 時間に 電源が 人る タイマ 動作 用に 使用) の 許可/ 
禁止 制御で, 丁 を 書き込む と アラーム 動作が ィ ネーブル にな り ます。 

ビット 3 は タイマ 動作 (計時 動作) の 許可/禁止 制御で, で 'を 書き込む と 秒 以降の カウント 
動作が 禁止 さ;^ 1 'を 普き 込む と 通常 勒 作になります。 タイマ 動作 を 禁止しても, 秒 以下の 力 
ゥンタ は 動作して おり, 1 回 分の カウン ト アップ は 内部で 货' えてい ますので' 1 秒 以下の リ せ 問 
であれば, この ビッ トを' 1 'にした ままで も 時 言 1 "^'ずれる ことはありません。 



5 テスト レジスタ 



テス ト レジスタの ビッ ト酉己 置 は 154 ページの 図 8 のよう になって います。 これら は 5じ15 
の チップ メーカ (リコー) での 出荷 梭査 用に 使う ものです (時計が 通常よりも 速く 動いたり す 
るよう です) 。 通常 は 以外の デー タ は 設定 しないで ください。 



07 ^巳 5 曰 丁 コントローラ 



丁コン ト ローラの ビッ ト 配置 を 154 ページの 図 9 に 示します。 8252 下コン ト ローラ 
は, アラームの 初期化, 秒 以下の カウンタの リセ ッ ト, ^し; 5 ^] V [出力 4^ ; ? "からの 出力 パルスの 

選択な ど を 行う レジスタです。 

尺?5ひ5 の 八し 八^] VI 出 力^^ は, 11-12 の パルス, 16 ^2 の パルス (いずれも デュー ティ 
は 50 パー セン ト), 内部に 設定した 時刻と 現在の 時刻の 一致の 3 つの 要因の 尺 条件で 出力 さ 



153 



図 …… 8 テス ト レジスタ 3 巳 8へ010 

1)11 7 4 3 15110 





丁已 5 丁 3 


丁 ^丁 2 


丁已 5 丁 1 


丁 巳 3 丁 













チップ メーカ (リコー) での 出荷 検査 用 

V して ィ击用 

通常 はすべ て で' を 設定して ください 



參図 …… 9 ?!5:5^ 丁 コントローラ ま巳8 ム 01「 




1 : アラーム リセット する 
: II 解除 

秒より 下の 桁の カウンタの リセット/解除 
1 : カウンタ リセット 
0: 通常 動作 

川3「!11 端子からの, 6 & パルス 出力 制御 
1: 出力 0「ド 
0: 出力 0リ 

八 端子からの 142 パルス 出力 制御 
1 : 出力 「ド 
0: 出力 リ 



れ ます。 ビット 4 と ビッ ト 3 は 1 !! 2 , 16 \\1 パルス を 八1 八^ VI 出力 4^7 "から 出力す るか 否 
か を 指定す る ビットで, ,0 'で,' にカ が 化 1 'で 0?? になります。 両方と も 01^1 にす る こと 
もで きます 力 5 ', 182 と 16 112 が 混ざった 波形に なって しまう ので, 实際に はいずれ か 一方 だ 
け を 01^ にす る ほかないでしょう。 乂 68000 では 八し 八^ VI 出力 は タイマ 1 力作 用と して 使い 
ますので, これらの ビット はいずれ も' "((^卩ド) に 設定し ます。 

タイマ リセット は, 秒 未満の 桁 (ソフトで は 読み出せない 部分です) の カウンタ を にクリ 
ァ する ビッ ト です。 この ビッ トを 丁に すると ク リア さえ レ で 'にす ると 通常 重力 作になります。 

アラーム リセット は アラーム 動作の 一致 検出 回路 を リ セ ッ ト します が, この リセット は, 少々 
変わって います。 尺? 5 (: 15 の アラーム 検出 は, 1 : 1, 曙 II, 時, 分の 4 つの 条件の 一致 を兑て 
います 力く アラーム リセ ッ トは これらの 上 匕 較器を 強制的に 一致した 状態に してし まい, アラー 
ム 時刻 (円, 曜日, 時, 分) 設定 レジスタに 書き込み を 行う と, その 害き 込んだ レジスタの 分 
だけが 不一致 狀態 になり ます。 



154 



8 丁 じ 



このような 一見 ややこしい 動作に なって いるの は, たとえば, 「^ 11 18:00 と 22:00」 といつ 
たような 動作 を 行わせる 場合, 毎回 付, 曜 II など を 設定し なおす 手 問 を 省こうと 考えられて 
1. 、 る ためです。 アラーム リセット によって, 新たに アラーム 時刻 設定 レ ジス タ 側に 書き込まな 
いかぎ り, 強制的に 一致した 状態に されて いるた め, 設定 動作 を^ 略で きます。 この 例で はァ 
ラームの (! 寺, 分の レジスタ だけ を 変更 すれば すむ わけです。 




丁 の アクセス 



1^X0 の 時刻 は 0?0 と は 関係な く 動作して レ 、る ことと, (:? リ 側か ら は 一度に は 1 つの レ ジ 
スタ しか アクセス できない ことから, アクセスに は少々 気 を 使う 必要が あり ます。 



か 1 時刻の 読み出し 



時刻の 読み出しの 際, 注意し なくて はなら な いのは, じ? リが レジスタ を 順に 読み出し ている 

問に 析 上がり を 起こす"]" 能 性が あると いう ことです。 たとえば, 19 : 59 : 59 と 20 : 00 : 00 の 
境目で, (:?リ カオき 計 を 秒の 析 から 順に 読み出して いると, 読み出す タイ ミン グ によって 20: 
00 : 59 となったり, 20 : 59 : 59 と 読み出されたり してし まう わけです。 これ を 避ける に は 次の 
ような:^ 去 か' あ り ます。 



1〉 読み出す 前に 時計 を 停止 させ (]V1002 レジスタの タイマ 21^1 ビッ トを 使用す る), 読み 

終わった 後に 解除す る。 
2》 時計 デー タ を 二度 読み し, 一致し なければ も う 一度 読み出す。 

3)1^ 信号に 同期して データ を 読み出す (じ 乙 ビ017? や 八し 八^ I を III 2 出力に して 
0?1? で 読む)。 



X 68000 では 01X01; 丁 端子 や 川 3 ^ 端子 は し 20 の 点滅 や タ ィ マ 機能に 使用 している た 
め, 実際に 利用し やすいの は 1〉 と 2〉 の 方法です。 ソフト 的に かんたん なの は 1〉 のお 去で' 間 
違って 時計 を 止めた ままに しないと いう 点で は 2》 の ほう 力 5 ' 安全で あ ると いえる でしよう。 

なお 1^X0 内部の 時刻 変更 タ ィ ミン グは (: し 1(011 丁 の 立ち上が り (しから 13 への 変ィ 匕^;) 



155 



です。 アラーム 出力 は, (: し 1く0じ 丁と 比べ, 位相が 約 180 度 ずれて おり, アラーム 出力の 立ち 
下がり から 96バ3 後に ^丁 じ の 時刻の 更新 力 《 行われます。 



^ 2 時計 データの 書き込み 



時計 デー タを 書き 込んで レ ゝ る 最中 に 桁 上が り な ど カ^こ ると 妙な 設定に なって しまい ま す。 
これ を 避ける に は 次の よう な 方法が 考え られ ます。 

1〉 時刻 読み出 しお' 去の リ と 同 じょう に 時計 を 止めてから 設定す る。 

2】 8232 丁 コ ン ト ローラ レ ジス タの タイ マリ セット ビット で '秒' よ り 下の- 析を ク リアし, 停止 

させてから 書き込む。 
3〉 1 32 信号に 同期 させて データ を 書き込む。 

このうち 3〉 の:^ 去 は, 読み出 しのと きと 同 じ现 由で X 68000 では 利用 しにくい と 思われ ま 
す。 :!) の 方法で は 秒よ り 下の 桁の カウンタの 動作 は;! 8; 铳 しています ので, 設定 直後の 1 秒の 進 
み 方が 速くな り ますから, 2〉 の 方法 を 併用した ほうがよ いでしょう。 

時計 データの 書き込みの ときには 12 時間 計 か 24 時間 計 かの 設定, 閏年 カウンタの 設定 は必 
ず 行うよう にして ください。 



か 3 その他の 設定に ついて 



以下, ここまでで 触れられなかった 設定に 関する 寧 頁 を まとめて おきました ので 参考に して 
ください。 



0-01 年 カウンタ 



1^0 の^ カウンタ は 閏年の 処理 と は 独立 して 動いて いる ため, 設定す る 年数 は 西暦の 下 2 
桁で ある 必要 は あ り ません。 11111-0311 68 X では 西暦から 1980 を 引いた 値か^: 定 されて いる も 
のと して 扱って います。 



156 



^丁 じ 



0-02 



曜日 カウンタ 



曜日 カウンタ はたんに 1 日 ごとに 0〜6 までの 値 を 順に とっていく 7 進 カウンタで', どの 値 

を 日曜日 に 対応させる か は ユーザ まかせと なって います。 1-111111311 68 X では 曰曜ロ を として 

扱って います。 



0-03 



アラーム 機能 



アラームの 設定 は, 次の よう な 手順 を 守る ようにし てく ださ 1 



1】 アラーム ディ セーブ ル (!^ひ!^ レジスタの ビッ ト 2 を' 'にす る) 

2〉 アラーム リセ ッ ト は 252 丁 コントローラ レジスタの ビッ ト を' 1 'にす る) 

3)100 バ 3 ムリ」 二 ディ レイ 

め アラーム レジスタへの 設定 



また, アラーム 機能 を 使う 場合に は, 本体 背而の メイン^: 源 スィ ツチ を 切らないよ うにして 
ください。 




サンプル プログラム 



時計の 読み出し を 行う かんたんな サン フひレ を 作成 してみ ま したので, 参考に して く ださい。 
こ の プロ グラ ム では 二度 読み方 式 を 採用 しています。 

拿 リスト …… 1 時計の 読み出し 

I、 

^ 8^ 読み出し サンプル 



157 



I、 江の 場合に は 

承 #^6:^116 16 
丰 の 1 行 を 入れて ください 

せ曲"^ 了^!^ 1 

#^61 1 1116 ^し^ 

011 & I ^0^661^ [?] = ("ミ 龍", "!) 矿, "丁ぎ, 一 直, "丁^","?"", 飞 八丁" 

乂01さ1116 1111518116^ 011 & I 承!" 10—1)356 二 (じ!^^さ!^^ 01131 : 100乂683001; 
乂01さ し 116 111131^116(1 0\\^ ^1 10.1110(16 二 (じ!^ 1 8116(1 0^131 ネ) 0X683015; 

111131^11601 。― 111116【2」 [了] ; 



ソ01づ 0131^0 ; 
1)11: 0111^11 1116 ; 
乂〇1づ 1*63(1 一 11 10 ほ^ ; 
ソ0101 ?]: 111 1^.1: 11116 ; 
乂ひぉ 1)311 1(0 ; 



111181^116(1 11^1 ぉ化 ; 
縦 肺) ; 
ヒ肌 化 (の; 

5^ ^ 0; 

"【!^^— ""^[!^化 : !]) ; 

み ^^。(! 0111 口— 111116 ((:—じ!!^!^], (: 1116 [丄] 〉 〉 
163(1.1 11116(0^1 11116 : !]) ; 
111116(0 セ; [! 116 し 0」〉 ; 



011113—1 11116 (ミ!^, (^も〉 
111131^116^ 氺 (^セ ; 

111151^6^ 1111: 1 ; 

^01 〈1=0: 1 く 7; 

I! ひ3『。十十 卜 ^も+十) 
^^^(?^!:); 



158 



6 丁 じ 



^01(1 16 & ^11 1116 (^!^^) 

1111318^ ま!" キ じ^'; 

乂0131:116 1111518116(1 じ!^! 1 ^10; 
1111318116(1 1111 1 ; 
110 二 !^じ— じ& 56; 

? ぽ 11=0; 1 く 3; V[^ 十: め | 

化 ひで 十十 : (打 仕 & 0ズ ぞ) 十 ひ ひ !^+幻 & 0x^*10; 

ホ ゎぱ+十 二 打 ヒ & 0x1 '; 
V^^ += 2; 

^01 〈1=0; 1 く 3; 1++, V^^ 十 
化ま十 二 (打ヒ & 0x0 



^ 4〉 

十 ひひれ十^ & 0x0*10; 



乂01^ ^! 1 1111:^1: 11116 (^!^! 1 ) 



111151^16(3 1111 1 ; 

^^[! '("["/藤/ 00 冊: 固 :33〕 ^%04(1/%02(1/%026 。ぶ 02 づ: 《02(1102(1〉^ !", 
1980+ ヒ 11れ61 ヒぱ 〔5〕, じ^"], じば [^,^バ门ルぽ卬]); 
"[! ^ゲ 01、 化 6 は 1 ぐぶ 5 バ11 ",づ 3ゲ0 士'^ ^[じぱじ]]) ; 



乂01づ ヒ 31^(1)1110 

1111512116(1 1111: わ!^; 



ば (馳) 

氺 ひ れ— 1110 づ め 卜 1; 
6186 ネひ!:。— !!^^^) & 二 1; 



159 



シ ャ ープが 独自 開発 し た し 51 群で 固め ら れた 画面 制御機 構 \ 
は, X 68000 の も つと も 特徵 的な 部分で あ ると いえる でしよ 
7。 : : では, X 68000 の 持つ 各種の 表示 モー ドゃ 画面 制御機 \ 
構な どに っレ , て 説明し ま す。 




ズ68000 の 画面 構成 



X 68000 は, 他の パソコンに は 見られない ほど 強力な 画面 表示 機す 51 を 持って います。 ビジ 
ネス 用途に おける パソ コ ン での 画面 表示の ほとんど は, 文字と ご く かんたんな グラフ^^ 
なので, ハー ドウ ヱァも それに あわせ, 漢字 表示 用の 画面と, 16^8 が 扱える グラフィック 
画面 を 持つ ている だけと いう のが 一般的です。 こ れに対 し X 68000 は, 描画 速度が 命で あ る リ 
アル タイムの アクション ゲームから, レイトレーシングに^ される, 高密度で, 数万 色^ 
の 画像^, さまざまな 文字 フォント にも 対応した ウィンドウ システム など, さまざまな 「表 
示」 に関する 要求に 対して, 0?11 の 負荷 を 極力 低減しつつ, 辯 欠に 対応で き るよう な 言 賴ナが 行 
われて います。 

X 68000 の 画面 構成 を 162 ぺー ジの図 1 に 示 します。 

X 68000 は, グラフィック 両而 け一 4 面), テキスト 鋼 而 〈4 而), スプ ライト (画面 上に 
128 個, 同一 水^ 1: に 32 個まで), 80 画面 (バックグラウンド 画面, 2 面まで) の 計 4 觀 
の ^ & した 画面 を 持って おり, これら 力 5 ' 合成され たうえに ビデオ 画像との 合成 (スーパー イン 
ポーズ) が 行われた 後, 1 つの 画面と して (^丁 に 麵 される よ う になって います。 これらの 画 



161 



像 図 …… 1 乂^り叫 の 画面 構成 



テキス ト 画面 

(腿 X 菌 ズ4 面) 



フフ フィ ック 画!] 

し リ 6 色 \ 
256 色 

24x102^ \ 65536 色/ 
い な/4 面) 



ビデオ 画像 




面 は それぞれ 異なる 性格 を 持って おり, 目的に 応じて 使い分けたり, 組み合わせて 使用す る こ 
とで, 多彩な 表現 を 容易に 実現で きる ようになって います。 ここで グラフィック, テキスト, 

80^ ス プライ トの各 画面 ごとに, それぞれの 構造と 胃な ど をかん たんに まとめて おき ましよ 
う。 各 画面の 構造 を 図 2 に 示します ので, 参考に してく ださい。 



162 



画面 制御 





163 



01 



グラフィック 画面 



グラフィック 画面 は, お 絵 書き ソフト や レイ トレーシング など, 多くの 色 を 扱いたい 場合に 

適した 画 面です。 カタログ などで うたわれ ている 65536 色 同!^^ が 行える の も, この 画面で 
す。 モードと して は, 65536 色 モードの ほか, 256 色, 16 色 モードが あります 力、 どの 画面 モ 
ード でも, つねに 画面— ヒの 1 ドッ トは 1 ワード ひ6 ビッ ト) となって います。 図に 招; く とき, 
デー タのビ ッ ト 酉 己 列 か 11 面に-垂直 方向 になる ようにす ると 説明 しゃすくなる ことから, 「垂直 
型」 と 呼ぶ こと もあります。 指定され たドッ ト 位^に 対応す る メモリ 番地に 色 コード を 書き込 
むだけ で, その ドッ トの色 力、、 决 まります し, 色 コードの 取り込み も 指定した ドッ ト 位置の メモ 
リ を 読み出す だけで 行えます。 扱う 色 数 力 5 ' 増えても 描画に 要する 手間 はまった く 変わ らず, 画 
面 上の データとの 演算 もかん たんで あるな ど, グラフィック 表示に は 有利です が, 半面, 1 ヮ 
一 ドの アクセス では 1 ド ッ ト しか 書き込めな いため, 文字 表示の よう に 多 く の ド ッ ト を 同時に 
書き込みたい 場合に は 向いて いません。 



2 テキスト 画面 



グラフィック 画面と ちょう ど 逆の 性格 を 持つ ている のが テ キ ス ト 画面です。 テキスト 画面と 

いう 名称から, 文字^し かで きないよう に 思われる かも しれません 力、 X 68000 の テキス ト 
画面 は 一種の グラフィック 画面に ほかな りません。 任意の 位置に ドッ トを 打ったり, 消したり 
する こと ももち ろん 可能です。 

テキス ト 画面が 先 ほど 説明した グラフ ィ ック 豳 面と 違う の は, テキス ト阿面 はビッ ト 配列が 
水平 (横) 方向に なって いると いう ことです。 つまり, 】 ヮー ド 分の データ か 横 方向の 16 ドッ 
トに 対応して いる わけです。 グラフ ィ ック 画面で は 16 ドッ 卜の 書き込み をす るのに は, たとえ 
白黒^で あっても 必ず 16 回 の 書き込み 動作が 必要で したが, テキス ト 画面で はこれ が 1卜1 
の 書き込みで 行える ため, 文字 パターン のように あらかじめ 用意され ている パターン を^さ 
せる よう な 場合に は 便利に な つてい ます。 

乂 68000 では, このような テキスト 阀面を 4 プレーン 分 持って いて, それぞれの プレーンが 
色 コードの 各ビッ 卜に 対応して います。 これによ つて, 11^: 16 色 〈65536 色の 中から 任意に 選 
択 可能) の 表示 カヾ 可能に なって います。 



164 



画面 制御 



3 8(3 画面 



30 (バッ ク グラ ゥ ン ド) 画面 は, 次に 説明す る スプラ イトと とも に ゲーム 向け 的な 色彩の 強 
い 画面です。 ゲームの 画面で は キャラ クタ カム 飛び回る だけで はな く , 都市 や 地形図な どの 背景 
を ともなう のが 普通です。 このための 画面と して, 先 ほどの テキス ト 画面 や グラフ ィ ッ ク 画面 
を 用いる こと ももち ろん 可能です が, ゲームの 場合, 同じような パターン 力 5 ' 数多く 用いられる 
場合が 多い ことに 注目 して, よ り 効率の よい 画面 制御 をめ ざした のが 86 画面です。 

80 画面 は, 封本 を 縦横と も 64 教 した マス 目で 構成さ^ そのうちの 32X32 個 分の 領域 
が 実際に 画面に される ようになって います。 それぞれの マス 目に は 1 対 1 に 対応した メ モ 
リ 領域が あ り , その パタ ンの 番号 ((!〜?ョさ) を 書き込む だけで 登録 してお いた パタ ンが 表示 さ 
れ るよう になって います。 ス プライ ト のように 各 パタン を^ 1^ して 1 ドッ ト 単位で 好きな とこ 
ろに^ する ような こと はでき ません カ气 ス プライ トが 画面 上 最大 128 個まで しか 表示で きな 
いのに 対して, 80 では 32X32=1024 個 を 同 示 (ただし, 使える パタン は 192 禾麵 まで) 
できる のか 特徴です。 

X 68000 は, 80 画面 を 2 面まで 持てる ようになつ ており, また 80 画面のう ち どの 部^^' 
固 面 上に き される か を 各面 115: に 1 ドット 単位で 寸旨定 できる ようになって います。 これによ 
つ て 背景の スムーズな ス クロ ールが 可能に な つてい ます。 



^ スプ ライト 



ス プライ トは, 定義され た パタン を 1 ドッ ト 単位で 任意の 位置に 表示で きる ものです。 
X 68000 では 縦横 力 《 そ れぞれ 16 ドットの パターン を 256 個 ま で 定義で き, その 中から 画面 上 
て 傲 128 個 (ただ し, 同一 水^ ± に は 32 個 ま で) を 同時に 蘇で きます。 グラフィック 画 
面 や テキス ト画面 力 5 ; グラフ ィ ッ ク ツール や ワープロ など 上 匕蛟的 動きの 少ない 画面 を 対象と し 
ている のに 対し, スプ ライト は アクション ゲームな どの, 決まった 形の キャラクタ を すばやく 
8 力 かすよ うな 目的に 適した ものです。 

グラフ ィ ック 画面 や テキス ト 画面で このような ゲーム をつ くろう とすると, キャラクタの 移 
動 先にす でに ある データ を あら か じめ 読み出 してお いて, キャラクタ を 別の 場所に 移動させる 
ときに ふたたび 元に 戻す という 手間が かかり ます。 複数の キャラクタ 力 5 ' 重なった ときの 処理な 
ども なかなか 厄介な ものです。 スプ ライト を 使う と, このような 画面 上の 重なり合 いはす ベて 
ハードウェアで 処理され ますので, ソフトウェア はたんに ス プライ トの ^位置 を 指定す るレ 
ジス タに 書き込む だけです み, じ? II の 負荷 は 非常に 軽くな り ます。 



165 



X 68000 の 初 (^に 付属して きた ゲーム 「グラディウス」 など は, この ス プライ ト 機能 をフ 
ルに 利用した 好 ィ列 でしよう。 



2 



各 画面の 構成と アドレス 配置 



X 68000 の画而 表示 回路 は, グラフィック, テキスト, 30 5 ス プライ トと, 性格の 異なる 4 
胃の 固 面 を 同時に 扱いながら, IV との スーパー ィ ン ポーズ や 画像 取り込みな どに 対応す る 
など, 力、 なり 凝った 作りに なって います。 このため, すべての レジスタ など を 一度に 列記す る 
と 理解し にく くなる と 思われ ますので, ここで はまず X 68000 の 持つ 各闺 面の 構造と, ^用 
メモリの ァ ド レス 配置な ど について 説明 していく ことにし, 画面の 01^/0?? ゃプラ ィ オリ テ 
ィ 制御な どの 機能に ついては 次 節 以降で 説明す る こ と に します。 



^1 グラフィック 画面の 構成 



01 



グラフィック 酗 面の 凼 曲 モード 



X 68000 力 5 ' サポート を 考慮して いる グラフ ィ ック 画面の, 而 モー ドー 1 !:;!: を 167 ページの 表 
1 に 示します。 

X 68000 の 表示 モー ドは 数多 く あ り ますが, ド ッ ト 数に 注目 すれば, 2 種類の 実 画面と, 4 
種 ま 1 の^ 画面の 組み合わせ になって います。 表 中, 二重丸に なって いると ころ は, その 画面 
モー ドが や X。 の ライ ブラ リ, 10じ5 コールな どで サ ポー ト されて いる こと を 示し, 
たんなる 一重 丸に なって いる 画面 モード は, システム ソフ ト 上の サポート はない (ないし 公開 
されて いない) が, X じ な ど に 付属す る プロ グラマー ズマニ ュ アルな ど では 存在す る ことにな つ 
ている 画面 モー ド である こと を 示します。 

また, 表の 中で 高 解像度 モード, 標準 解像度 モードと いう 言い方が されて いますが, これ は 
たんに 水平 偏向 周波数が それぞれ 31 15 1ひ12 である こと を 示して います。 X 68000 で 
は 通常 31 ^2 モー ドカ ^ 使用され ています ので', 15 1^2 モー ドを 標準 解像度と 呼ぶ の は 少し 



166 



画面 制御 



表 …… 1 乂68000 の グラフ ィ ック 画面 モー ド一覧 



実 画面 


衣 小 岡 131 


高 解像度 モー ド 

(水平 リ)^ 2 ) 


標準 解像度 モー ド 

(水平 巧^ 2 ) 


色 モー ド X ページ 数 


1024X1024 


768X512 


@ 


X 


16 色 1 ページ 


512X512 




0^ インター レース) 


512X256 


〇〔 二度 読み) 


〇 


256X256 


(二度 読み) 




512X512 


512X512 




@〈 インター レース) 


65536 色 X 1 ページ 
256 色 X 2 ページ 
16 色 X 4 ページ 


512X256 


〇 (二度 読み) 


〇 


256X256 


0^ 二度 読み) 






@ : にや XI: の ライブラリ, 1005 からの サポート 有 

: 11X5 等からの サボ一 ト なし. ぱ丁0 への 設定 は 可 
X : 動作 不可 



変な ことで はあり ますが, この 用語 は シャープの マニュアル 類の あちこちで 見かける ので, こ 

こで も その; 流 1 義に 《定 う ことにしました。 

丁 V 放送の 水平 偏向 周波数 は 15 1^112 です ので, スーパー ィ ン ポーズ を 行う 場合に は 15 
^2 モー ド を 使用 します。 15 ^112 モー ドで 設定で きる 画面 モー ドは, 水平 方向の ド ッ ト 数が 
512 ないし, 256 ド ッ ト の 画面 モー ド だけです。 

じ し リ IV! IX 

インター レースと 二度 読み 

インター レース は, 丁 V 放送 を 行う うえで 画面の ちらつき を 抑えながら, 画面 データの 幸 云 
皿 度 を 低 く す る ために 考 え ら れた 方法です。 人間の 目に ぎくしゃくし た 動 きとして 見えな 
いよう にす るに は, 1/24 秒に 1 枚]^ 1: の 速度で 画面 を き する 必要が あ り ます。 XV 放送で 
はこれ を 前提に 1/30 秒に 1 枚の 画面 を 送って いますが, この 速度で 画面 の^を 行う と, 動 
き は 自然に 見える ものの, 画面^ !本 のちら つきが ひどく, 非常に 見^ ? 'らくな つてし まいます。 
このため, XV 放送で は 525 本 あ る 走査線 を 偶 ^# 目 と 奇数 番目の ものに 分け (それぞれの 
画面 をフ レームと 呼ぶ こ とに します), 1/60 秒 ご と に^ 5: に 送る こ と で 画面の ち ら つき を 抑 
えてい ます。 このよう な 表示 方式 を インター レース 方式と 呼び ま す。 

X 68000 の (:^ 丁 インタフェース も インター レース 方式 をサ ポー ト してお り, 15 !^^ 2 モ 
ード 時の 512X512 ドッ ト 表示 は インター レース 方式で 行って います。 乂 68000 の じ1 ^丁 は 
垂直 方向の 周、 波 数 は 60 ^ 2 に 固定され ています (若干の 周波数 ずれに は 追従し ます)。 このた 
め, 画面の 垂直 方向の ド ッ ト数は 31 1 くョ 2 モー ド では 512, 15 ^ョ 2 モー ド では 256 力-基本 
となって います 力 5 ', 偶数 番目の フレームと 奇数 番目の フレームとの 区別 を 行って に 画 

167 



面 データ を 送る インター レース 方式 を 使う ことで, 151^II2モードでも512( = 256X2) ドッ 
トの が 行う ことができる ようになる わけです。 ただし, 上下 左右の 隣り どうしの 画素の 
2^ が あまり 問題と ならない 丁乂 面 象と 異なり, 1 ドッ トず つの! ^リ がな される パソコンの 
画像で インター レース^ を 行う と, ドッ 卜の ちらつき カズ やや 回に つきます。 

二度 読み は インター レースと ちょうど 逆で, 311 く^ 2 モードで 256 ドット^ を 行う もの 
です。 31 正只2 モー ド では 基本的に 縦 方向 は 512 ドット あ り ますが, ある 走^の^ を し 
た 後, 1 ライン 下 も 同じ データ を^す る ことで 縦 方向の ドッ ト 数が 半分に なった ように 表 
示す る ものです。 こ の 方法で は 各 ド ッ ト の 縦 方向の 大 き さ 力 《 倍になる ため, 厳密に は 15 
モー ド のとき の 256 ド ッ ト モードと は 異な り ますが, 一応 同 じ 絵が^ でき るよう にな り ま 
す。 



― 0ー し— 0—1^/1 ーリ 
オーバ スキャン 

インター レースと 同じように, オーバ スキャン も 丁 V 放送の 方式と 関係が あります。 ォー 
バス キャンと いう のは^ 画面の 領域 を 実際の (:!^ 丁 よりも 大きく する ことで, (: 尺 丁 の 表 
示 面:^ 本に 画面 を赫 する 方法です。 IV 腿の 画像 は 0^丁 の 全面に 赫が 行われ ますが, 
ノやノ コ ンの 画面 は 通常, 録画 面^ #: が 01^1 の 中央部に 録 さ^ 0^ の 端に は 何も 赫 
されない 領域が 残り ます。 パソコンの 画面が 長方形で あるのに 対して, (: 尺 丁の ほう は 丸み を 
帯びて いますし, また (^下の 隅の ほう は あま り 解像度が よ く ないた め, 固 面^! 本 を 見る よう 
な 用途の 多い パソコン では (:!^ 丁の 中央部 を 使うよう にして いる わけです。 

X 68000 も 31X92 モードの ときには, このような^ (アン ダス キャンと 呼ぶ ことにし 
ます) を 行います が, 15 X ト 12 モードの ときには スーパーインポーズでの 動作 を 考慮し, ォ 
一 バス キャンでの^ が 行われます。 スーパー ィ ン ポーズ を 行った とき に X 68000 の 画面の 
ほうが アン ダス キャンに なって いると, X 68000 側で 全面 を 塗りつぶした にもかかわらず, 
画面の 端に は 丁 V 画面が 見えた ままに なって しまいます。 このため, 乂 68000 の 固 面^: は 
15 & 12 モー ド では オーバ スキャン 動作に して (: &丁 の ^面:^ 本 か' 扱え るよう にして いる 
のです。 



168 



画面 制御 



02 



グラフィック ソ8 八! VI の アドレス 配置 



実 画面が 1024X1024 ドッ ト のとき と, 512x512 ドッ ト のとき の グラフ ィ ック VI^V]V [の 
アドレス 配置 を 図 3 と 図 4 に 示します。 グラフィック 乂只 八] V [の アドレス 配置 は, 実 画面の モ 
ード によって 変ィ 匕し ます 力 5 ', いずれの 場合で も, 画面 上の 1 ドット は 1 ワード 〈16 ビット) と 
なり, ある ドットの 右 隣り の ドット は 2 番地 先, さらに その 隣り は 4 番地 先 …… というぐ あい 
になります。 実 画面が 1024X1024 ドッ ト のとき は, の 領域 は 1 ページで 2 IV! バイ ト 
分の 領域 を 使用し, 512X512 ドッ ト のとき は 各 ページが 512 X バイ ト ずつ を 使用し ます。 つま 
り, ページ は 3000000~5じ7????, ページ 1 が 3080000 〜おじ???!^, ページ 2 が 30 
00000-307???^ ページ 3 ^080000~?0????? と な り ま す。 書 き 込む 色コ 一 ド は 
65536 色 モードの ときには 1 ワードの データが そつく り そのまま 使われ ますが, 256 色 モード 
のとき は 下位の 8 ビット 分, 16 色 モー ド 時には 下位 4 ビット だけ か 有効 となり, 上位 ビ ッ ト は 
無 見され ます。 



図 …… 3 グラフィック の アドレス 配置 (実 画面 1024X1024 ドット 時) 




169 



図 …… 4 グラフィック V 卩/ のァ ドレス 配置 (実 画面 512X512 ドッ ト時) 





170 



画面 制御 



じ しじ! \ /!リ 
ページと プレーン 

ページと プレーン はよ く 似た 概念です が, 本書で は 8^ 色ゃス ク 口 ール 位置 指定な ど を ほ 
かと まったく 独立して 指定で きる- せ 位 を ページ, テキス ト 画面の よう に ほかと 組み合わされ 
て 色 指定 を 行って い るよう な も のの 場合, それぞれの 画面 を プレーンと 呼ぶ こ とに します。 

グラフ ィ ック洒 面 は, 両 而 モードに よって, 1 つから 4 つの 画面 を 持つ ことになります。 
それぞれの 画面 は, 他の ページの 画面と は 完全に 1^ して 旨 制御 (色 指定, スクロール, 
プライオリティ, 01^/0?? 制御な ど) 力 5 ' 可能で あるた め, ページと 呼びます。 

一方, テキスト 闹面は 4 つの 画面から 構成され ます。 テキスト 画面 は, この 4 つの 画面の 
それぞれが 色コー ドの 1 ビット に 対応して お り, 4 つ を 使って 16 色 〈4 ビッ ト) のうちの ど 
の 色になる かの 指定 を 行うよう になって います。 また, スクロール 位置 や 0^/0?? 制御な 
ども, 4 プレーン すべてで 連動して 扱われます。 このため, テキスト 画面で は, それぞれの 
画面 を プレーン と 呼ぶ こ とに しています。 



^ 2 テキスト 画面の 構成 



01 テキスト 画面の 画面 モード 



テキス ト 画面の 画而 モー ドは グラフ ィ ック 画面と 異なり 単 糸 屯です。 表示 画面 サイズ は グラフ 

ィ ッ ク画 面の サイ ズに 連動し ますが, 実 画面の ほう は 画面 モー ド によらず, つねに 1024X1024 
ドッ 卜の 大きさが あり, プレーン 数 は 4 プレーン となって います。 



02 テキスト V?? 八! VI の アドレス 配置 



テキス ト画 面の 各 プレーン は 1 ヮー ドが 水平 方向の 16 ドッ 卜に 対応す る タイプの グラフ ィ 
ック 画面です。 4 つ ある プレーンの それぞれ を 丁 プレーン, 丁 1 プレーン, 丁 2 プレーン, 
丁 3 プレーンと 呼ぶ ことにします。 ァ ドレス 領域 は 丁 プレーン 力 1200000~521???れ 丁 1 
力 ザ220000~523????, 丁 2 カ^ 240000~!?25????, そして 丁 4 力 ^260000 〜る 27???? と 
なって います (図 ら)。 



暇' 



5 テキス ト 画面の ァ ドレス 配置 



1024 1 




5 三 3 「「「巳 
《640000 



ま已 60000 



5 巳 7「 「「ビ 



丁 1 プレーン 



丁 2 プレーン 



丁 3 プレーン 



テキス ト 画面の 色コ一 ドは, グラフ ィ ック 画面の ように 直接 データ を 書き込む ので はなく, 
丁 〜丁 3 の 各 プレーンの 同じ 位置に 対応す る データに よって 16 色の 中から 選択され ます。 あ 
る ドットの 色 コード を 知る に は 4 プレーン 分 〈4 回) の 読み出し 力; 必要で あり, やや 面倒です 
が, 書き込み は 複数の プレーンに 同時に 書き込む 機能が あるた め, 使用す る 色 数 を 増やしても, 
描画 速度に はさ ほど 胃し ないよう になって います。 



172 



画面 制御 



か 3 8(3 画面の 構成 



01 8(3 画面の 画面 モード 



^^固 面が 512X512 ドッ トの ときには 1 ページ, 256X256 ドッ ト モードの ときには 2 ぺ一 
ジの 80 画面が 使用可能です。 80 画面の 実 画面と ^ ^画面の 関係 を 図 6 に 示 します。 

80 画面の 実 画面 は 縦横と もつ ねに^ 画面の 2 倍に なって います。 80 画面に 使用され る 
パタンの 大きさ は, 表示 画面が 512X512 ドッ ト モードの ときには 16X16 ドッ ト, 256X256 ド 
ッ トモ一 ドの ときには 8 X 8 ドッ ト と変ィ 匕し ます。 このため, 80 画面に 並ぶ ハ 'タンの 数 は, 圃 
面 モー ド によ らず, つねに 実 画面 上 は 64X64 個, ^画面 上 は 32X32 個に な り ます 画 
面の 表示 画面 サイズ は 画面 モード レジスタ (アドレス 328 0810〉 の 8^25 ビッ ト (ビッ ト 0,1〉 



^ 図 …… 6 80 画面の 実 画面と 表示 画面 




画面 モード レジスタの 

1 "^巳 5 ビット 


表示 画面 サイ ズ 


実 画面 サイズ 


ハ 。タン サイズ ケ あたり) 





256X256 ド ッ ト 


512X512 ドッ ト 


8X8 ドット 


1 


512X512 ドッ ト 


1024X1024 ドッ ト 


16X16 ド ッ 卜 



173 



に 設定し ます)。 



02 



8(3 画面 用 メモリの アドレス 配置 



80 画面 用の メモリ 領域の アドレス 配置 を 図 7 に 示します。 136 画而 用の!^ [は, ^に 
利用す る パタン を 登録す る 領域 (?じ。 エリア) と, 実 画面 を 64X64 ( = 4096) に 分割した み 
領域と 1 対 1 に 対応し, どの位 置に, どの パタン を 餘 する か を 決める 領域 ^0 データ エリア) 
に 分割され ます。 このうち, ? じ エリア はスプ ライトと 共用に なって います。 

80 画面 用の!? 八] V [のうち, 前半の 16 X バイト は丑^。。。 〜あ 288??!^ は? じ0 エリア 
専 III に 利用され ます。 ? じ0 の パタン 登録 は 1 ドッ ト あたり 4 バイ ト使 用され るた め, パタンの 
大きさが 16X16 ドッ ト (国 面 モードが 512X512 ドッ ト) の ときには, パタン 1 つ あたり 128 
バイ ト, 8X8 ドッ ト (ド び 請 モードが 256X256 ドッ ト モード) の ときには 1 つ あたり 32 バイ 
ト 使用 します。 パタ ンが 16ズ 16 ドットの とき は, この 領域に 128 個 定義で き る ことにな り ま 
す。 8 X 8 ドットの とき は 計算 上 は 512 個 となり ま すが, 80 デー タ ェ リ ァが 指定す る パタン 
番号が 8 ビッ ト分 しかない ため, 80 用に 使用可能 なの は 256 個 分までで す。 

80 画面 用の 尺 八] VI の 後半 16 I く バイ ト は, 8 X バイト ずつ の 領域 は ^^(^(((!〜?^^!)???, 
5282000-523???^ に 分割され ます。 80幽 面 を 2 面 使う とき は 両方と も 30 データ ェ 
リ ァに, 1 面し か 使わない ときには 前半の 8 I く バイ ト を ? じ0 エリ 了に, 80 画面 を 2 面と も 使 
わない とき は 両方と も ? じ0 エリアと してし まう ことができます。 



7 1=00 エリア, 8(3 データ エリアの アドレス 配置 



5^88000 



5 [圆 00 



化 80000 



お 巳 85000 



558「「「 ョ 



(ョ) 


⑥ 


? 06 エリア 

ひ X 8 ドット、 共 
い 6X16 ドット ノ用 




^06 エリア 

ひ X 8 ド叫共 
い 6X16 ド' ン リ用 


ドぱ ェ リ ァ 

16ズ 16 ドッ ト專用 




?ぱ エリ ァ 
16X16 ドット 専用 


8(5 データ エリア 






86 データ エリア 1 




8(3 データ エリア 1 



^06 エリア 

^8X8 ドット、 共 
り 6X16 ドッ トノ用 



冗6 エリ ァ 
16X16 ドッ卜 専用 



3 種類の 中から 好き な 構成 を 選択 可能 



174 



画面 制御 



これにより, 80 画面 を 1 而分 しか 使わない 場合に は 16X16 ドッ 卜の パタン を 192 (二 
128+64^0, 80 画面 を まったく 使わない とき (すべて ス プライ ト パタンと して 利用す る 場合) 
は 256 個までの パタン を 登録で きます。 



03 



お 6 エリアの 樣造 



? 00 ェ リ ァの データ 1# 造 を 176 ページの 図 8 に 示します。 

? じ0 エリアの データ は, 8X8 ドッ ト分 〈8 ロング ワード ニ32 バイ ト) が 定義 ハ 'タンの 単位 
となって います。 画面 モー ド が 256 X 256 ド ッ ト 時の 80 画面の ように, 1 ノ 、。タ ンカ 《 8 X 8 ド 
ッ トの ときには, この 1 組が そのまま 1 パタンと して 使われ ス プライ トゃ 512X512 ドットの 
80 固 面の ように, 1 パタンが 16X16 ドッ 卜の ときには? じ0 データが 4 つず つ 組み合わされ 
て 1 パタン 分と して 使われ, 番号 も 1 パタン 分 ごとに 取られます。 つま り, 8X8 ドッ 卜のと 
きの パタン 番号 0, 1, 2, 3 が 16X16 ドットの ときの 番, 4, 5, 6, 7 番か 番 …… と 
いう ぐあいになる わけです。 8X8 ドッ トの パタンが どのように 組み合わされ るか は 図の 右下 
に 示して お き ま した。 この 例 は 16ズ 16 ド ッ トパタ ンの 番号 の データ 力、 8X8 ドットの とき 
の パタン 番号 0, 1, 2, 3 からどの ように 構成され るか を 示して います。 

各 ? 00 の 登録 データ とパタ ンの 対応 は 図の 右側に お 大して 示して います。 ?じ0 ェ リ ァはロ 
ングヮ 一 ド 〈32 ビッ ト) 単位で アクセス すると, ちょう ど 横 8 ドッ ト 分の データが 一度に 扱え 
るう え, ビット 酉 己 置 も 位の 4 ビット 力 5 左端, 最下位の 4 ビット が 右端の ド ッ ト に 対応す る 
ようになり, 扱い やすいでしょう。 

? じ0 データ は 1 ドッ ト 分が 4 ビッ トで 表されて おり, これが 各ドッ 卜の 色 コードの 下位 4 
ビッ ト になり ます。 上位 4 ビッ トは 86 データ エリ ァゃス プライ トス クロール レジスタ にあ 
り, 実際に 表示され る 80 パタン ゃス プライ ト ごとに 指定す る ことができます。 この 2 つが 組 
み 合わされる ことで 画面 上 256 色, 各 パタン ごとに 16 色までの 表現が 可能と なって います。 



175 



図 …… 8 ^06 ェ リ ァの 構造 
~~ I パタン 番号 

^エリ ァ 



ァ ドレス 



5^88000 
3 & 68020 



5^88000 
5 & 880^0 



16X16 



《巳 89ド80 
5 & 89 ?"^ 

お 89ぼ0 



求 巳 8 八 020 
お 8 八 060 



お 88 ひ 
ま 巳 88 「& 



ま 巳 巳 0「80 
お 80 「八 



まビ 8「「80 
忠已 8 ド 「^0 



? 1 


ド 6 


^5 


I I I 
?4 


^3 


? 2 


?] 


^0 


円 5 


円 4 


円 3 


円 2 


円 1 


円 


? 3 


? 8 


? 23 


? 22 


? 2] 


^20 


円9 


?18 


1 


? 16 


? 31 


円 


? 23 


^28 


「27 


?26 


? 25 


?24 


ド 39 


? 38 


「37 


ド 36 


? 35 


円4 


? 33 


? 32 


?47 


? 46 


「45 


! ^44 


? 43 


^42 


? 41 


?40 


ド 55 


? 54 


ド 53 




ド 51 


?50 


1349 


^48 


? 63 


? 62 


1^61 


曜 


?59 


^58 


^57 


? 56 






16X16 ドッ ト パタン (パタン 番号 0〕 

















^0 


2 








































一 


1- 
























































I 船 
















1 


3 



「1 4 3〇1 



-醫 き 1 や,^ 



176 



画面 制御 



0-9 4 



8(3 データ エリアの 構造 



80 データ エリアの 構造 を 図 9 に 示します。 80 の 1 ブロック あたり 1 ワード 力 續リり 当てら 
れ ています。 下位 8 ビッ トは? じ0 エリアに^ された パタンの 番号, ビッ ト 8~11 の 4 ビッ 
ト に 乙 尺) は 色コー ドの 上位 4 ビット (下位 4 ビット は ? 05 ェ リ ァで 1 ドット ごと に 指定 
する) を 示します。 

ビッ ト 15 は 垂直 (上下) 方向の 反? 云 指定 ビッ ト, ビッ ト 14 は 水平 (左右) 方向の 反転す 旨定 
ビットで', それぞれ ビットが 1 になって いると, 表示され る パタンの 上下 方向, 左右 方向が 反 
: 'おして 表示され ます。 



9 86 データ エリアの 構造 



先頭 ァ ドレス 

^ビ 巳じ!)!)!^ 巳 (^卩) 
5 巳 3 ビ 000(8(3 







十 50 


十 お 


十 が 




+ V^ 


十 お 巳 




十 ぉ0 


十 お 2 


十 も 84 




十 5 「じ 


十怀ビ 


+1100 




十 ま 104 






十 は 


十 お 80 




+5184 




+51 「じ 


+51 「已 
















十5 謂 


十ぉ^ 




十 师 


十 お!^ 


ゆ 「80 




十 师 




十 お! ^ 


十 师 



パタ : 



、 












州 






〇0 し 06 





水平 方向 反転 
垂直 方向 反転 



色コ一 ドの 上位 4 ヒけ 

(下位 46 はは^ (^ェ リ ァで 決める) 



? (^ェ リアに 登録した 
パタ ン のうち, どれ を 
使う か 決める 



177 



^ 4 スプ ライト 画面の 構成 



01 



ス フフ イト 面画の 画面 モード 



スプラ ィ ト は, 表示 匝 画が 512乂 512 ドット, ま たは 256乂 256 ドット モー ドの と き に 使用 可 
能です。 スプラ ィ ト のパタ ン 登録 は 86 画面の ? じ6 ェ リ ァを 共用 します 力く 80 画面の 場合, 
表示 画面 サ ィズ によって ノ 、。タ ンの 大きさ が 変わ る の に 対 して, スプ ライト は 画面 モ ード によら 
ず, つねに 16X16 ドッ トの 大きさで あるた め, 80 画面と ス プライ 卜の パタン 番号 力 5 ' —致し な 
くなる 場合が ある ことに 気をつける 必要が あります。 ^画面 サイズが 512X512 ドッ トモ 一 
ド のとき は, 80 データ エリアと ス プライ 卜で '使用す る パタン 番号 は 同一になります が, 256乂 
256 ドット モードの ときには, 80 パタン 番号が 0, 1, 2, 3 の 4 つで' 表される パタンが スプ 
ライトの パタン 番号 に, 4, 5, 6, 7 の 4 つが スプ ライトの パタン 番号 1 番 になります。 



02 ス ブライト 画面の アドレス 配置 



ス プライ トの 制御 は, パタン を 登録す る ? 02 エリアと,^ 場所な ど を 定義す るス プライ ト 
スクロール レジスタで 行います。 ?;:。 エリアに ついては, 80 画面の ところ で 説明 し たので, 
ここで は スフ。 ライト スクロール レジスタ につ いて 説明す る ことにします。 
スプラ イト スクロール レジスタの アドレス 配置と その 構造 を 179 ぺー ジの図 10 に 示 します。 
スフ。 ライ トス クロール レジスタ は, 表示す る パタンの 番号, ^位置, おの 01^/0?? な 
どをス プライ ト ごとに 指定す る もので, 1 組が 8 バイ ト 分の 領域 を 使用し ます。 328 
0000~?2803?? の IX バイ トに計 128 , 翻意され ています ので, X 68000 で ^ 可能な スプ 
ライ トの数 は 駄 128 個に なり ます。 ただし, ハー ド 上の 制約から, 同一 水平" ||± に は 32 個 ま 
でし か 表示で きず, 33 個 目 以降の ス プライ トは 表示され ません。 



3 ス プライ トス クロール レジスタの 構造 



ス プライ トス クロール レジスタ は, スフ-ライ ト 1 つ あたり 4 ワード 分か 害リり 当てられ ており, 
それぞれの レジス タの 内容 は 次の ようになって います。 



178 



画面 制御 



書 図 …… 10 スプ ライト コントローラ ス プライ トス クロール レジスタ (^^已!^!!!!〜^日曰" 
「ド) 



スプ ライト 

ス クロ一」 レ 
レジスタ 


スプ ライト 如 


《巳 80000 

I 

5 ョ 0006 


- 二 


スプ ライトお 


8^80008 

1 

5 & 80001^ 


: 二 










ス プライ ト 
#127 


5 & 803^ 




86 スクロール 
レジスタ 


800 


ま 巳 80800 
5^80808 




801 








画面 モ一 ド レジスタ 


本 巳 8080 ム 

\ 

5 巳 80810 






179 



第 1 ワード, 第 2 ヮー ドは, それぞれ ス プライ トの 4± 隅の 点の X 座標' V 座標 を 指定し ま 
す。 第 3 ヮー ドは 80 データ エリ ァの データ と 同一の 構造で, 表示され るパタ ン 番号, 色コー 
ドの 上位 4 ビッ ト, 水平/垂直 方向の 反転^^ など を 行います。 第 4 ヮー ト" は, ス プライ ト と 80 
の 間の ^ の ^ 頼 位 (ブラ ィ オリ ティ) を 指定す る も のです。 0^/0?? 制御 や ブラ ィ オリ テ 
ィ制 御用の ビッ ト について は 次 1511 で 説明し ますので, ここで は 第 し 第 2 ワード だけに 注目し 
てくだ さい。 

ス プライ ト の&想 座標系 (実 画面) は 1024 X 1024 ド ッ ト 分の 領域が あ り ま す 力 5 \ こ の 座標の 
とり 方 は, X 座標, ? 座標 は 実際に 穌 されて いる 画面 (実 画面) 上の 座標と は 縦 方向, 横 方 
向と も 16 ドッ トず つず らして います (図 11〉。 つまり, 実 画面の & 1: 隅の 座標 はス プライ ト囫 
面で は (川,") になります。 これ は, ス プライ トを 画 面の 左 や 上の 隅の 方向に 持って いったと 
きに 完全に 画面の 外に 出る まで 移動で き るよう にす るた めで あると 思われます。 

參図 一… 11 ス プライ ト 画面の 座標系 



11023,01 



1 【0,0】 




表示 画面 




一 ^ 一 ^ 


^ ス プライ 卜の 座標系 


【511,511】 






ホは55,255】 謹 







(らリヌフ) 



0023,1 0231 



# 上段 は 512X512 ド 1 
下段 は 256X256 ド' 



― ド時 
三一 ド時 



】 内 は 表示 画面 上の 位置 

〉 内はス プライ ト 画面 上の 座標 



180 



画面 制御 




画面 制御 



前節で は X 68000 の 持つ 各種の 画面の^ #: や, き 用の メ モ リ の 構成な どに ついて 説明 し ま 
した。 この 節で は, 画面 制御 ロジックのお おまかな 構成に ついて 説明した 後, 各 画面 どうしの 
重ね合わせの 処理 ゃス ク 口 ール, 高速 ク リ ァゃ 画像 取 り 込みな どの 各種の 画面 制銜, の 謝智 
について 説明して いくこと にします。 



^1 丁 8 インタフェースの 構造 



X 68000 の (:尺 丁 イン タフ ヱ ース 部の ブロ ック図 を 図 12 に 示 します。 X 68000 の 画面 機構 
は, (: 尺 丁 コントローラ, ビデオ コントローラ, スプ ライト コントローラの 388 のし 51 によ 
つて 実現され ています。 これらの し 31 は, すべて シャープが X 68000 用に 開発した ものです。 
各コ ン ト ローラのお おまかな 役割 分担 は 次の よう になって います。 



0〗 ぱ 丁 



じ 尺 丁 コ ン ト ローラ に11 丁 は, (: &丁 ィ ンタ フェース^ (本 か勒作 する ために 必要な 各種 タ 
ィ ミ ング 信号の 発生と テキス ト 画面, グラフ ィ ッ ク 画面の 制御が おもな 仕事です。 テキス ト画 
面 や グラフ ィ ッ ク 画面の スクロール 処理, 高速 ク リ ァゃ 画像 取り込み 回路の コン ト ロールな ど 
も, じ !^丁じ 力 5 1 亍 つてい ます。 

(: 尺 丁 (: の 持って い る レ ジス タの 一^ を 183 ページの 図 13 に 示 します。 このうち, 
& 00 〜尺 08 は 0? 丁 ディ スフ。 レイ との タイ ミ ング 調整 用, & 09 〜尺 19 と 1^21, 1^23, 01^X0 
動作 ポー ト は 画面 スクロール や 高速 ク リ ァ謝 乍, 画像 取り込み などの 制御, I? 20 は 画面 モー ド 
の 設定に 使用され ます。 



2 ビデオ コントローラ 

ビデオ コントローラ は, グラフ ィ ック V ^八] VI や テキスト VI^\IV [の データ, ス" 7。 ライ トコ 



き 図 …… 12 (: 闩丁 インタフェース ブロ ック図 



ス プライ ト 
ソ關 

32^8 



画面 モー ド 

テキス 卜/グラフィック スクロール 
グラフィック 高速 ク リ ァ ね) 
ラスタ コピー (丁) 

同時 アクセス (!) ^ 画像 入力 (幻 
ビッ トマス ク (丁) 



01^70 



画像 入力 回路 



^1 : 画面 サイズ' 色 数 

^2 : プライオリティ 

83 : 半透明 

特殊 プライオリティ 
各 画面の 表示 0^0 び 制御 



システム 
ポー ト 




画面 制御 



図 …… 13 (: [^丁 内部 レジスタ 一覧 

61*15 6;10 



水平 タイ ミ ング 制御 


議 
細 

闘 


5^80000 
まビ 80002 
3 & 80004 
お 0006 






水平 ト一 タル 




水平 同期 終了 位置 




水平 表示 開始 位置 






水平 表示 終了 位置 


垂直 タイ ミ ング 制御 


議 
陽 
讓 
只 07 


ま 巴 80008 
ぉ醒 八 
3^80000 
ま已 8000 に 






垂直 トータル 




垂直 同期 終了 位置 




垂直 表示 開始 位置 






き 置 表示 終了 位置 


水平 位置 微調整 


剛 


5^80010 






外部 同期 水平 アジャスト 


ラスタ 割り込み 用 




も 巳 80012 


一 

一 






ラスタ 番号 


テキスト 画面 スクロール 


謂 


^^80014 
多 580016 




X 位置 




丫 位置 


グラフ ィ ック 

両面 スゥ 日 一 ; レ 

!^" | | 1-1 | ^\ メ リ ノ レ 


812 
813 
^14 
815 
816 
817 
818 
只 19 


3 & 80018 

5 & 80010 
本 580015 
ま 580020 
ま 巳 80022 
5^80024 
お 580026 




ス0 






丫 






XI 




VI 




乂2 




ヽ 2 




ズ3 








丫3 






ヾモ 1」 モ ― ド ゾ 

表示 モード 制御 


鬧 


5 & 80028 


1 1 5 


び 


し 


ン 4 


化 




同時 アクセス/ラスタ コピー/ 
高速 ク リア プレーン 選択 




お 8002 ム 




卜】 


5 
へ 


ムド 







ラスタ コピー 動作 用 


^22 


5^80020 


ソ一 ラスタ 






ディ ステ イネ 


—シ ヨン ラスタ 


テキスト 画面 
アクセス マスク ハ タン 


^23 


お 80026 


マスク 


ハ" タン 






画像 取り込み/高速 グ) ァ ダ 
ラスタ コピー 制御 


動作 ポート 


3^80480 




― 1 ~ I ~ 1 ~ 1 ~ 1 ~ 1 ~ 1 ~ 




^ で' 


^ V 
1 



133 



図 …… 14 ビデオ コン ト ローラ レジスタ 一覧 



30 

& 82400 



61 
は^ョ。。) 



未使用 


実 画面 
サイズ 


色 モード 




512 


00 し 


未使用 


画面 間 プライオリティ 制御 


グラフィック 画面 間 プライオリティ 制御 


スプ ライト 


テキス ト 


グラフィック 




51 3 


丁 X 


0^ 


0?3 0^2 01^1 


6^0 



ビデオ 
カット 


半透明/特殊 プライ 才 リ ティ 制御 


つねに 
で' 


画面 0^/01^1^ 铕 1』 御 


ス ブライト 


テキスト 


グラ フィック 


^5 


六闩 


冊 


圍 




8 ふ 




お 


刃' 


501^ 


丁 0リ 


054 


05 3 


852 


051 


050 



ン トロー ラの 出力な ど を もと に, 各 画面の 01^/0?? や 画面 間の ブラ ィ オリ ティ 処理, 半透明 
処理 や 力 ラー パレ ッ ト の 処理な ど を 行って います。 

ビデオ コントローラ の 持つ レジスタ 一覧 を 図 14 に 示します。 

I? は両而 モー ドの 設定, & 1 は ブラ ィ オリ ティ 制御, 尺 2 は 画面の 01X1/0?? や 特殊 ブラ ィ 
オリ ティ などの 制御に 使用され ます。 カラー バレ ッ ト も ハー ド 的に は ビデオ コン ト ローラに 含 
まれて いる のです が, プロ グラ ム上か ら はまった く 異質な ものである ため, ここで は ビデオ コ 
ン ト ローラの レジスタに は 含めず, 後で まとめて 説明す る ことにします。 



03 



スプ ライト コント 口 ー : 



ス プライ ト コントローラ はス プライ ト画而 と 80 画 而の 表示 制御 を 行います。 80 画面の ス 
クロール ゃス プライ トの^ 位置の 設定, 個々 のス プライ トと 86 画面 間の プライオリティの 
制御 もスプ ライト コントローラ 力 5 ' 行って います。 

スフ。 ライ ト コントローラの レジスタ 一覧 を 185 ページの 図 15 に 示します。 各ス プライ トと 
1 対 1 に 対応し, ^位置 や パターン 番号, 色 コードの 上位 4 ビッ ト など を 1^ する ス プライ 
トス ク ロール レジスタ 力;' 128 組 〈 1 組 は 4 ヮー ド), 20 画面の 表示 位置 や リダ 0?? 制御な ど 
を 行う 80 スクロール レジスタが 5 ワード, スプ ライト/ 80 画面の 画面 モード 制御 を 行う レ 
ジ スタ か' 4 ワード 分あります。 

X 68000 の 画面 表示 は, これらの 協調 動作に よって 行われて いるた め, 画面 モー ドの 設定な 
ど, 各コン ト ローラの 問で おた がいに つじつま を あわせてお かなくて はならない ものに ついて 
は 各 コントローラ ごと に 設定す る レジスタ を 持って います。 コントローラの レジスタ を 直す 封 桑 
作す る 場合, 他の コントローラの 設定 も 変更す る 必要が な いかどう か を, 考慮 してお く 必要が 



184 



画面 制御 



き 図 …… 15 ス プライ ト コント 口' 



レジスタ 一覧 







まビ 80000 


ス 

つ: 
ィ 


ス プライ ト #0 


お 80002 
お 80004 
お 30006 


卜 

ス 

ク 

口 






ル 
レ 




お 803「8 


ス 

タ 


ス プライ 卜 #127 


803^ 


8 


800 


お 80800 
尜圧 80802 


ス 
ク 
レ 口 
ジ 1 
ス ル 


801 


お 80804 
5 ョ 0806 


タ 


88 コン トロー リレ 


枣巳 80808 


画 
面 
レ モ 


水平 トータル 




水平 表示 位置 


1^80800 


ス ド 
夕 


垂直 表示 位置 


5 巳 8080 巳 


解像度 設定 


ま 巳 80810 





ズド05 

111111111 




I 1 


1 




1111111 

丫ド 03 








001 




5 ド/ \丁# 








1 






则 

















丫 


V 


1-1 




001 


, 


















隨 


11111 


ズ, 






丫曰 05 




ス!^ 






1 1 


丫ド 05 






シ 
で 




601 
1X5 [し 


(^丁〒 し 














077\ し 








1-1-015? 

11111 






\ 




1 








V - 
ぼ 5 


4 - 
旺 5 



あります。 



2 



画面の ひ!^/。! 3 ! 3 , プライオリティ 制御機 構 



X 68000 の 画面の 0^/01^ ゃプラ ィ オリ ティ の 制御 1 構造 を 186 ぺー ジの図 16 に 示 し ま 
す。 スプラ イトと 80 画面 間, グラ フィック 画面の 各べ 一 ジ 間での フ 'ラ ィ オリ ティ 制御 や 各々 



185 



図 …… 16 プライオリティ 制御 




の 01^/0?? 制御 力 《行われた 後, グラフィック 画面, テキスト 画而, スプ ライト 十 86 の 各 画 
面 間の プラ ィ オリ ティ 制御, 0^/0?? 制御が 行われます。 

ス プライ ト コントローラ では 80 固 面と ス プライ 卜の 制御 を 行います。 80 画面 は 80 コン 
トロール レジスタ によって 2 固 面 独立に 0^1/0?? 制御が でき, ス プライ トはス プライ トス ク 
ロール レジスタの プライオリティ 制御 ビットに よって 1 つず つ 独立 して 表示 01^/0?? と 
80 画面 と の 間での プラ ィ オリ ティ の 制御が で きます。 

ビデオ コントローラ は, グラフィック 画面の ぺー ジ || ;] のプラ ィ オリ ティ 制御 と 01^/0?? 制 
御に 加え, グラフ ィ ック, テキスト, ス プライ ト+ 80 の&页 | 面の プライオリティ や 01^/0?? 
の 制御 を 行って います。 

氺 スプ ライトと 8(3 画面 は, スプ ライト コントローラで 合成され た 後に ビデオ コント 口 

ーラに 送り込まれ ますので, ビデオ コン ト ローラで はス ブライトと 33 画面の 区別 は 行 

えず, レジスタの 名称な どで はたんに ス プライ ト として 极ゎれ ています。 



01 



ビデオ コントローラ による 01X1/0 「「, プライオリティ 制御 



ビデオ コントローラ の 持つ レジスタ のうち, 画面の プラ ィ オリ ティ 制御に 関す る レジスタ は 

尺 1, 幽而の 01^/0?^ に 関係す る レジスタ は 尺 2 の 下位 8 ビット です。 尺 2 の 上位 8 ビット は 
^ブラ ィ オリ ティ や 半透明の 制御 用 に 使用 します。 ビデオ コントローラの レジスタ はすべ て 
^5^0/^1^1X5; 可能な ので, 難の 設定 をい つたん 読み, 屮, した 後, 必要な ビッ ト だけ を 書き 换 
える ことが 可能です。 



186 



画面 制御 



プライオリティ 設定 

ビデオ コン ト ローラの I? 1 のビッ ト 配置 を 図 17 に 示します。 ビデオ コン ト ローラの I え 1 は, 
下位 8 ビッ トが グラフ ィ ック 画面の ページ 問の プライオリティの 指定, 上位 8 ビッ トは グラフ 
イツ ク, テキスト, スプ ライト 士80 の め1 面の プライオリティの 指定 用と なって います。 

グラフィック 画面の ページ 間 プライオリティ 

グラ フィック 画面の プラ ィ オリ ティ 設定 は, もっとも プライオリティ の 高い ぺー ジ 番号 を ビ 
ット と]. で, 次の プライオリティの ページ 番号 を ビット 2, 3 で, 3 番目 を ビット 4, 5 で, 
もっとも プライオリティの 低い ページ 番号 を ビット 6, 7 で 指定す るよう になって います。 異 
なる プライオリティの ところに 同 じぺー ジ 番号 を 指定す る こと は 禁止 されて います。 

瞬 面 モードに よって は, グラフ ィ ックの ページ 数が 1 ページ や 2 ページし かない 場合 も あり 
ます。 1 ページ だけの 画而 モー ドの と き に は, プライオリティ 値と ページ 番号が すべて 一致し 
た 値, 52 4 を 書き込みます。 2 ページの モードの ときには, 0?0と0?1カ、 〇?2と0?3 
力、' ペア となり, 0? と 0? 1 の ペア かフ 。ラ ィ オリ ティ の 高い 側, 0? 2 と 0? 3 の ペア かフ 。ラ 
ィ オリ ティ の 低い 側の ページ 番号 設定に 使 川され ます。 ページ をす 旨定 する に は 0100 を, ぺ 
ージ 1 の 指定 は 1110 を 指定し ます。 つま リ, ページ の プライオリ ティカ 5 ' ページ 1 よ り も 高い 
場合に は 524 (^!^川ひ) を, 逆の 場合に は 料 2 ((^(^卩川) を 指定す る ことになります。 

11 画面 間 プライオリティ 設定 

尺 1 の 上位 8 ビッ ト では, グラフ ィ ック, テキスト, スフ' ライ ト 十 86 の 各 画面の プライオリ 
テ ィ 設定 を 行 レ 、ます。 プライオリティ 値 は で0, が もっとも プライオリティ が 高 く , で1 'がその 
次, ^0 'が もっとも 低い という 指定になります。 ,11 'という 設定 は 禁止です。 異なる 画而に 同じ 
フ 'ライ オリ ティ を 設定す る こと も 禁止され ています。 

尺 1 の! 1±位 の 2 ビッ ト (ビッ ト 14 とビッ ト 19 は 現在 使用され ていません ので', 1 可 を 書き 
込 ん で も 動作 に は!^ しません。 

01\170「ド 設定 

ビデオ コントローラの!^ 2 の 下位 8 ビット は グラフィック, テキスト, スプ ライト 十80 の 
各 画面の 表示 01^/0?? 制御 を行レ 、 ま す。 
グラ フ イツ ク画 面の 01^/0?? は, 実 画面が 1024乂 1024 ドットの とき (尺 の ビット 2 が 1 



187 



き 図 …… 17 ビデオ コン トロ一 ラ ^バ乐^^?ぅ!)!)) 

もっとも 優先順位の 高い グラフィック 画面の ページ 番号- 
2 番目に II 
3 番目に II 
4 番目に I! 



'画面の 優先順位- 
テキスト 画面の 優先順位- 
ス プライ ト 画面の 優先順位 





5 ? 




0^ 


0^3 


0?2 


01 3 1 


1 

6^0 



未定義 

〔 4 ページ モ一 ド 以外での 3 〜 (^!] の 設定〕 

1 ページ 〔65536 色) モード 時の 設定 

2 ページ モード 時の 設定 (ページ 0〉 ぺ一ジ 1〉 1110 010 ("ト 〉 
(ページ く ページ 1 〉 ; : 



1 1 


1 


1 


! 





プライオリティ は 2 匕 はで 表され 

00 01 ン 1 
の 順になる。 ('"'は 設定 禁止) 

のとき) に はビッ ト 4 で, 実 画面が 512X512 ドッ トの ときには ビッ ト 0〜3 を 使って, ページ 
ごとの 01^/01^ 制御が 行えます。 ビッ トが 1 'になって いると^^ 0ド, で 'だと 0?? にな 
ります。 この 01^1 ダ 0?? 制御 用の ビット は, 各 ページに 対応す るので はなく, プライオリティ 
に 対応して いる ことに 注意して おいてく ださい。 つまり, ビッ ト で 01^/015 ^制! 卸される の 
は グラフ ィ ックの ページ ではなく, 尺 1 のビッ ト と 1 で寸 旨定 されて いる ページに なり ます。 
固面モ ード によって はぺー ジ 数が 4 ぺー ジ 未満の こと もあります。 このと き の 設定 は 次の よ う 
になり ます。 

画面が 1 ページの とき (65536 色 モード), ビ ッ ト ~ 3 はすべ て 同 じ 値に します。 表示 を 0?4 
に するとき は' 1111 'に, 0?? のとき は' 0000 'になります。 画面が 2 ページの とき は56 色 モー 
ド) に は ビット と ビット 1, ビット 2 と ビット 3 を 同じ ザ 直にし ます。 たとえば フ 。ライ オリ テ 



188 



画面 制御 



ィ の 高い ほう の 画面 力 5 ' 表示 0?? で, 低い ほう の両而 が 01^1 な ら, 設定す る 値 は ,1100, にな り 
ます。 

テキス ト 画面と ス プライ ト 十80 画面 は, それぞれ! ^2 のビッ ト 5 と 6 で 01^/0?? 制御 を 
行います。 いずれも' 1 'のとき 力 5 ' 表示 01^, ,0 'のとき 力 5 ' 0?? になります。 ビット 7 は 未定義と 
なって いますが, で 'を 書き込む ようにして ください。 



9 02 



スプ ライト コントローラの 持つ 01\1ズ0「「, 
プライオリティ 制御 



スプラ イトの 01 ^ズ 0?? や 80 画面と の 間での プラ ィ オリ ティ の 設定 は, スプラ イト 1 つ 1 
つに 対応して いる ス プライ トス クロール レジスタで' 個別に 行い, 80 画面の 01^/0?? 制御 は 
80 コン トロール レジスタで ページ ごとに 行います。 それぞれの レジスタの 内容 を 190, 191 ぺ 
一 ジの図 18 と 図 19 に-示します。 

80 画面 間の プラ ィ オリ ティ は, つねに 80 が 130 1 よりも 高くな つてお り, 変更 はでき ま 
せん (画面 処理の 都合 上 どう しても 入れ替え を 行いたい ときには, それぞれが 使用して いる 80 
データ エリ ァの 番号の ほう を 入れ替えて しまう ことで 同 じ 効果 を 得る こ とがで きます)。 

スフ。 ライ トス クロール レジスタ は, 各ス プライ ト ごとに 4 ワード 【8 バイ ト) 分の 領域が あ 
り, プライオリティ 制御 と 01^/0?? 制御 は 4 ワード 目 の 下位 2 ビット (ビット と, ビット 
1〉 に 割り当てられ ています。 この 2 ビットの データが' 00 'の ときには, 該当する スフ' ライト 
の 表示が 0?? になります。 で1 'の ときには, スプ ライト は 80 画面の 後ろ, 10 'の ときには 
50 と 801 の 間, 11 'の ときには 86 画面の 上に 表示され ます。 

80 画面の 0^1/0? ^は, 80 コントロール レジスタの ビット 〈80 01^0 と ビット 3 
(!^^丄ひ!^) によって, 各 80 画面 ごとに 独立して 行える ようになって います。 



189 



図 …… 18 曰 6 スクロール レジスタ 〈80 コントロール) (乐 巳 巳囬!^) 



スプ ライト 
ス クロー メレ 
レジスタ 


スプ ライト #0 


ョ 0000 

1 

已圆 06 


: : 


スプ ライト #1 


^國 08 

\ 

巳 8 000 巳 


一 ― ― 

: 一 




一 一 一 


ス プライ 卜 #127 


巳 8 03 ド 8 










86 ス クロー 

ルレ ジス 夕 


80 


ビ 80800 
& 8 0808 




巳 1 




80 コント ローリ レ 




画面 モード レジスタ 


1 

& 6 0810 





ぉ圆 08 





015? 
/ぴ リ 


1 1 


861 1X5 ヒ 


801 
01^ 


86 7X5^ 


巳 6 
0^ 



スプ ライト/ 86 表示 「厂 …… 

(^^や レジスタへの アクセスが 速い) 

スプ ライト ズ80 表示 0~ …… 1 

^06 や レジスタへの アクセスが 遅い) 



08 1 は 80 デ一 タエ リア を 使用 
〃 1 I! 

1 



禾 定義 



1 



801^7^:0^ 
II 01\1 1 

860 は 80 データ エリ ァ を 使用 

〃 1 II 

未定義 | 




1 
1 
1 1 



腳 表示 0「厂 
〃 0^1 1 



】 と 801 で 同一 の 8。 デ- 



ニ リア をィ吏 用しても よ I 



190 



画面 制御 



図 …… 19 ス プライ トス クロール レジスタ (る 已 日!)!^^ !〜) 



スプ ライト 

フ々 门 |し 
ス ノリ ゾレ 

レジスタ 


スプ ライト #0 


8680000 

1 

5 & 80006 




ス ブライト #1 


5 巳 8 0008 
5 ョ 0005 


~ 一 












ス ブライ 卜 #127 


まョ 03「8 

1 

5 & 8 03^ 




86 スクロール 
レジスタ 


83 


5 & 8 0800 

1 

ま 巳 8 0808 




83 1 




33 コン卜 口一 ノレ 




画面 モード レジスタ 


ま 巳 8 080^ 
ま 巳 巳 0810 





十0 



十2 



州 


冊 




〇0 し 06 


3は 丁 # 



丫ド 05 



卩曙 



- 水平 方向 反転 
- 垂直 方向 反転 



- 色 コードの 上位 
4 お (下位 4 おは 

エリアで 
決まる) 



ス プライ ト パタン 
货 う 

エリアに 定義され た 
パタンの うちの どれ を 使 
\ うか 決める 




」 



ス プライ 卜 は 表示し ない 



191 







II IV! 1^ 



グラフィック ページ 間 プライオリティ 制御の か ら く り 



本文 中で は 動作の 説明 力、' やや こ し く なる ため, 標準 設定 以外の 値 を 設定した 場合, どのよ 
う な 動作に な る か 触れられなかった ので, こ こ でプラ ィ オリ ティ 制御の 仕組み と あわせて 説 
明して おく ことにしましょう。 なお, この 内容 は 筆者 力 5 個人的に 調べた ものな ので, 将来に 
わたって このよう な 仕様-である 保証 は あ り ません。 標準 設定 以外の 値 を 意図的に 使う とき は 
この 点に 注意して おいてく ださい。 

X 68000 のグラ フ ィ ッ ク 画面の ブラ ィ オリ ティ 制御機 構の プロ ック図 を 図 20 に 示 し ま 

す。 

ク" ラフ ィ ック 画面 用の 尺^] V [は 512X512 ドッ ト X 4 ビッ ト分 ひ281く バイ ト) 力 《1 ブロ 
ック となって おり, これ 力 《4 ブロック 分 集まって グラフ ィ ック V 尺八] V [を 構う 成して います。 
図で は, この それぞれに VI^]VI#0~V^八]VI#3とぃぅ番号をっけてぉきました。^?リか 
ら アクセス する ときには, 256 色 モードの ときには V ^八] \1#0 と #2 が 下位 4 ビッ ト, 
乂尺 八] VI # 1 と # 3 7 ^上位 4 ビットと なり, 65536 色 モードの ときには V 尺^] VI # 力 5 ' 最下位 
の 4 ビット, V 尺八] VI # 3 力 5 ' 11± 位の 4 ビットと なる よう に 組み合わ されます。 

一方, プライオリティ 制御 回路からの 出力 も 4 ビッ ト 単位の データが 4 つと なって います。 
これ を 図で は 60 0-00 3 で 添して あ り ます。 この データの 扱われ 方 は, 実 画面が 512X512 
ドットの ときと, 1024X1024 ドッ 卜のと きとで 大きく 変わります。 実 画面が 512X512 ドッ 



き 図 …… 20 グラ フ ィ ック 画面 間 ブラ ィ オリ ティ 制御機 構 

表示 アドレス #3 表示 アドレス #2 表示 アドレス #1 



表示 アドレス #0 



ソ隨 # 3 

ほリズら^化 は) 



ビデオ コン ト ローラの 61 

(征 82500 の 下位 8 お 



ソ關 # 2 
151 2X51 2X41310 



0?3 



6^ 






… ゾ圆#0 


01 リ 


… 


10 - 


… 乂闘#2 




… ソ^\^#3 



ゾ關 # 1 

〈512X512X4 匕 は) 



ゾ國 # 

(ョ^ョ^仆 は) 



01 3 1 



0?0 



604 



002 



601 



000 



192 



画面 制御 



65536 色 モード 



256 色 モード 



16 色 モード 



^02 !' 001 [删 】 




実 画面 512X5 に ドット 時 



1024 ドット 



| 512 ドット 


512 ドット 






600 


130 1 


002 


003 



実 画面 1024X1024 ドット 時 



ト のとき は, 色 モードに よつ て 次の よ う に 変化 します。 

16 色 X 4 ページ モー ド時 

00 0〜00 3 がその まま 4 つの 画面の データ と して 扱われます。 プライオリティ は 00 
が もっとも 高く, 00 3 が もっとも 低くな リ ます。 

256 色 X 2 ページ モー ド時 

00 1 と 00 0, 60 3 と 00 2 力 《組み合わ されます。 00 と 00 2 が 下位の 4 ビット, 
00 1 と 00 3 が 上位の 4 ビット にな り ます。 00 1 と 00 の 組み合わせの 画面が 00 3 と 
00 2 の 組み合わせの 画面よ り もプラ ィ オリ ティ 力 5 葛 いものと して 扱われます。 

65536 色 X 1 ページ モー ド時 

00 0-00 3 力 《すべて 組み合わ さ れて 65536 色の デー タ に な り ます。 00 3 が^ ±位 の 4 
ビット, 00 が 最下位の 4 ピットと なり ま す。 

実 画面が 1024X1024 ドッ ト モードの とき は, 00 0~ 00 3 の 4 つの 画面が 組み合わされ 
て 1024X1024 ドッ トの 画面 を 構成し ます。 組み合わされ 方 は 図の 下に 示した とおり, 00 
か 方 ト. 00 1 力 5 右上, 00 2 か 去 下, 00 3 か 右下の 512乂 512 ド ッ ト の 領域の データ とな リ 



193 



ます。 

ビデオ コント ロー ラの 下位 8 ビッ トの 0? 0〜0? 3 は, 00 0〜00 3 の そ れぞれ が 
V 尺八] VI の, どの バンクに 対応す るか を 決めて いるので す。 10じ5 コールな どで 画面 を 初期化 
した 後 は, [の バンク 番号と 60 が 1 対 1 に 対応す るよう な 値 は24:0?3ニ11, 
0?2:10, 0?1:01, 0? (^!)!)) になって います。 本文 中で は, 興なる プライオリティに 
同一の 画面 を 設定して はいけ ない という ことでした 力く この こと を 311 禅して 扱うなら, 同じ 
固 面 を 指定しても かまいません。 

この 値 を 意図的に 書き換え ると おもしろい 動作に なり ます。 たとえば, 256 色 X 2 网面 モー 
ド のとき に 0?0~0?3 を 30 8 ((^^ニ订, 0?2ニ01, 051=10, (;?ひニ!)!)) にして み 
ます。 こ れは 標準 設定 か ら 0? 1 と 0? 2 を 取 り 替えた も のです。 こうすると, プライオリ テ 
ィ の 高い ほう の 画面の 色コ 一 ド は 尺八! VI # を 下位 4 ビット, 尺八] VI # 2 を 上位 4 ビットと 
する 8 ビット デー タ に, 低い ほう の颐而 は # 1 を 下位 4 ビ ッ ト , 尺八] VI # 3 を 上位 4 ビ 
ッ ト とする 8 ビッ ト データに なり ます。 

実 画面が 1024X1024 ドットのと きも 60 0~00 3 の 標準 設定 は 52 4 です。 これ を 先 ほ 
どと 同じように 508 とすると, 00 1 の 領域 と 00 2 の 領域が そ つ く り 入れ替わ り ます。 ま 
た, 500 とすると, 00 1〜00 3 の 領域 もす ベて 00 と 同じ もの 力 5 表示され る ことにな り 
ます。 



か 3 画面 スクロール 



スクロールと は, 画面 上に 表示され ている もの を^ #: に 上下 左右に: ^続して 動かす こ とです。 

ソフ ト 的に スクロール を 行う とき は, '奥 際に [の データ を 移動 方向に あわせて 転送す る 
こ と にな り ますが, ここで 述べる ハー ド 的な 画面 スクロール は, 実 画面 上での 表示 開始 位置 (表 
示 画面の; ^± の 座標) を 任意に 変更す る ことで 行います。 お 開始 位置 を 実 画面で 右の ほうに 
動かして いく と, 画面 上 は 表示され ている ものが すべて 左に 移動して いるよう に 見える ため, 
ス クロ ール 動作が 実現され る わ けです。 ス クロ ール 機能 は, 画面の き を 縦 や 横に 移動す る ス 
ク 口 ール 処理の 高速 化 だけで な く , 実 画面が 表示 画面 よりも 大き レ 、場合に 実 画面 上の 適当 なェ 
リア を 表示させる などの 用途に も 用いられます。 X 68000 では テキスト 画面, グラフィック 
画面の^ 開始 位置 は じ 尺 丁じ で, 30 固 面 は スプラ イト コントローラの 80 スクロール レジ 
スタで 行います。 

表示 開始 位置の 指定 は テキスト 画面, グラフィック 画面, 80 画面 それぞれで 独立して 行 
え", さらに, グラフィック 画面 や 86 画而 力;' 複数 ページ ある 画面 モードの ときには, ^一 



194 



画面 制御 



ジ ごとに 指定で き るよう になって います。 各 画面と も, 表示 画面 は 実 画面 内 いっぱいまで 自由 
に 動かす ことができ ます。 き 画面の 範囲が 実 画面から はみ出す よ う な 指定 を した 場合の 動き 

に 違いが あります。 たとえば, 実 画面の 水平 ドッ ト 数が 512 ドット, 表示 画面の 水平 ドッ ト数 
が 256 ドットの とき に, 録開始 位置の X 座標と して 257 以上の 値 を 与え る と , 表示 画面の 
^の 位置 は 実 画面の^ II に はみ出 します。 

このと きの 動作 を 図 21 に 示します。 グラフ ィ ッ ク 画面 や 8 而で は, 上下 左右 どちらに も 
はみ出した 指定が できます。 はみ出 した 部分に は 実 画面の^ ォ側 にあた る 部^^^; されます。 
上に はみ出 した 部分 は 下側の 部分が, 右に はみ出した 部分 は 左端の 部分 力り ながって 表示され 
ます。 この 性質から, グラフ ィ ックゃ 80 画面の スクロール は球而 スクロール であると いって 
います。 

一方, テキス ト 画面 は 上下 方向の はみ出し だけが 許さ^ 左右 方向に ははみ 出した 指定 はで 
き ません。 はみ出した 指定 をす る と, 画面の 表示が おか しくな り ます。 上端と 下端が く つつい 
たよう に见 える ため, テキス ト 画面の スクロール 方式 を 円筒 スクロールと 呼んで います。 196 ぺ 
一 ジの図 21 に 画面 ス ク 口 ール 動作の 例 を 示 します。 



195 



〇 




図 …… 21 画面 スクロール 




④ ⑥ 




196 



画面 制御 



| グラフィック 画面と テキスト 画面の スクロール 

グラフ ィ ック 画面と テキスト 圃 面の スクロール は (:尺丁じ によって 行われます。 じ 尺 丁じ の 持 

つ レジスタ のうち, グラフ ィ ック |:山1 而の スクロール は 〜尺 19〈 グラフ ィ ックス クロー ルレ 
ジス タ), テキス ト 画面の スクロール は 尺 10 と 尺 11 (テキス トス クロール レジスタ) で 行い ま 
す。 グラフィックス クロール レジスタ のうち, ページ 用に あたる 尺 12 と!? 13 は, 実 画面が 
1024X1024 ドッ ト モードの ときに 対応す るた め, それぞれ 10 ビッ ト 力;' 有効です が, ページ 1 
~ 3 は 実 画面が 512X512 ドッ ト 以下のと きにし か 存在 しないので, 対応す る スクロール レジ 
スタは 9 ビット ま でが 有効 となって います。 

実 画面 サイズが 512X512 ドッ ト のとき の グラフ ィ ック スクロール レジスタの 設定 は少々 注 
意が 必要です (図 22 参照)。 ダラ フ ィ ッ ク 画面が 16 色 X 4 ページ モー ドの と き に は 尺 12, & 13 
力 5 'ベー ジ , 尺 14 , 15 がぺー ジ 1 にと いうぐ あいに 1 対 1 に 対応 し ま すが, 256 色 X 2 ぺー ジモ 
一 ドの ときには I? 12~1? 15 力 3 ' ページ 用, 尺 16 〜!^ 19 力 5 ' ページ 1 用の スクロール レジスタと 

肇図 …… 22 (:卩 丁 コントローラ グラフィック スクロール レジスタ (ま6:80018〜5^:80026) 



ダ ~ 実 画面が 512X512 ドッ 卜の ため 使用され ない 




16 色 モード 時 256 色 モード 時 65536 色 モード 時 



実 画面 512X512 ドッ ト時 



197 



ヒ11 15 



ほ 12 5580018 



XII 



ページ 0ズ 



813 も 5800 仏 



\0 



-ジ 丫 



814 — 819 は 使用され なに 



実 画面 1024X1024 ドッ ト時 



なります。 ページ を スクロール する ときには, 1^14 に は 尺 12 と 同一の ィ直 を' 尺 15 に は 尺13 
と 同じ 値 を 設定し ます。 同様に ページ 1 のとき は 尺 16 と 尺 18, 尺 17 と 尺 19 は 同一の 値を設 
定す るよう にします。 

65536 色 XI ページの ときには 1112, 尺 14, 只 16, 尺 18 の すべてに X 座標 を, & 13, 1^15, 
尺 17, 尺 19 の すべてに V 座標 を 設定し ます。 

実 画面が 1024X1024 ドッ 卜の ときには 尺 12 と 尺 13 だけが 使用さ^ & 14~尺19 は!!^ 見 
されます ので, このような 配慮 は 不要です。 

― 0ー し ― 11— 1^ ― 1^ 

グラフィック 画面の スクロールと 高速 ク リア 制御のから く り 

画面 スクロール や 高速 ク リ ァの ページ 選択で 指定 以外の 設定 を 行う とどの よう になる か を 
説明して おきましょう。 これ も プライオリティ 制 #1 職 構 と 同様に 筆者が 個人的に 調べた だけ 
なので ',機 重の 追加な どで 変更され ない という 保証 はない ことに 気をつけ ておいて く ださい。 

まず, プライオリティ 制御のと ころで 示した 図 20(192 ページ) を 参照して ください。 01? 
丁じ の屮に 4 組 ある グラフ ィ ック スクロール レジスタ は, それぞれ V 尺八] \1#0~ソ尺 八] \1# 
3 に 対応して お り, それぞれの 赫開 始ァ ドレス を 変化させる ために 使用され ています。 

I? 12 と 尺 13 を 変化させる と, V 尺^! VI # の 開始 ァ ドレス だけ 力 《 変ィ 匕し, 尺 14 と 尺 15 で 
V 尺八] VI #1 の アドレス 力 《 変化 します。 ビデオ コントローラの & 1 力ち 息 常 設定 になって いる 
と, 256 色 X 2 ページの ときには V 尺^] \^#0 と #1, # 2 と #3カ《 ペアと なり, 65536 
色 X 1 ページ モー ドの ときには 乂^夂1\4#0~#3 力 5 ' ペアと なる ため, 赫 開始 ァ ドレスの ほ 
う も ペア どう しで は 同じ 値 を 設定す るよう に 指定して いる わけです。 

高速 ク リアの プレーン 設定 も, 256 色 や 65536 色 モードの ときには 複数の ビッ トカ 《ペアと 
なって おり, 同じ 値 を 設定す るよう に 指定され ています 力、 これ もから くりとして は 同じよ 
う な もので, I? 21 の ビット ~ 3 が それぞれ V 尺八] VI # 0〜マ1? 八! VI # 3 に 対応して います。 



198 



画面 制御 



8(3 画面の スクロール 



80 画面の スク ロール は, スプ ライト コント 口 ーラの 中の 80 スクロール レジスタ 
ぱ 28 0800 〜お 28 (^(^ によって 行います。 80 画面 は 80 と 80 1 の 2 画面 あり, それ ぞ 



図 …… 23 巳 スクロール レジスタ 曰 80800〜5 巳 已"。?) 



ス プライ ト 
スクロール 
レジスタ 


ス プライ ト #0 


358 0000 

I 

8 巳 8 0006 

5^8 0008 

1 

5 巳 8 000 巳 




ス プライ ト #1 














スプ ライト #127 


5 & 8 031^8 

1 

本 巳 8 031^ 巳 





813 スクロール 

レジスタ 



画面 モード レジスタ 



ま 巳 巳 0800 

\ 

も 58 0808 

ぁ巳隱 八 

1 

5 & 80810 



———、- ^ 
、、- 、― 




80 表示 画面 



86 実 画面 



199 



れに 対応して スクロール レジスタが あります。 各 レジスタの ビッ ト 配置 を 199 ページの 図 23 
に 示します。 

^函 面の 水平 512 ドット モード (丑。 の 実 画面 1024 ド ッ ト モー ド) のとき に は 80 画面 
のみが 表示され 80 1 画面 は 水平 256 ド ッ ト モー ド (同 実 画面 512 ドット モード) のとき に 
だけ^: されます。 つま り, 80 の スクロール レジスタ は 10 ピッ ト まで 有効です が, 80 1 用 
は 9 ビッ トま でか 有効と いう ことになります。 



か 4 08 丁 の 特殊機能 



X 68000 の (^丁じ は^ タ ィ ミ ングの 発生 だけで な く , ^用 デュアル ポー トメ モリの 特 
徴を 生かした 高速 画而ク リア や 画像 取り込み, ビッ トマス ク などの 機能 も 実現して います。 こ 
こ では (:!^ 丁 じ 力 5 ' 実現 し た, これら の #?繊 能に ついて 説明 していく ことにしましょう。 

じ &丁 (: の 持つ レジスタ のうち, 特殊機能に 関係す る もの は (:尺丁じ 動作 ポート と 
1^21 〜& 23 の 4 つです。 それぞれの ビット 配置 を 201, 202 ページの 図 24, 図 25, 図 26, 図 
27 に 示します。 

本 X 68000 の 画面 表示 機構 は, 一貫して び リ による 画面 処理の 高速 ィ匕を 主体と して 考え 
られ ています。 たとえば, 画面 構成で は テキスト, グラフィック, スプ ライト, 86 と, 
目的に 応じた さ ま ざまな 種類の 画面 を 同時に 扱う ことができる ようにして いま した。 

丁 の 特殊機能 は, グラフィック 画面 や テキスト 画面と いった, どうしても 大量の メモ 
リ 操作 を 必要 とする 画面の 操作の 際 に (^リ の 負荷 を 減らす ために 設けられ た 機能 です。 



200 



画面 制御 



図 …… 24 じ日 丁 動作 ポート (500480) 

画像 取り込み 開始 (り/ 停止 ゅ)- 

グラフィック 画面 高速 ク リア 開始 (リ/ 停止 (り)- 
テキスト 画面 ラ スタコ ピー 開始 V 停止 は)- 





^0 


ず 


ぱ 


VI 



高速 ク リア 動作が 
終了す ると 自動的 
に 汨' になる 



図 …… 25 (^丁 821(30002/0 

テキス ト 画面の 同時 アクセス 
ま "/。「「ゆ - 

テキス ト 画面 アクセス マスク - 
有効 い)/ 無効 ゆ) 



圆 




お 


2 


八 円 


八? 


0?3 


0?2 


〇 円 


0^0 



テキスト 画面 同時 アクセス 対象 プレーン 選択- 

(選択 (り/ 非 選択 (!))) 
テキス ト 画面 ラスタ コピー 対象 プレーン 選択 



グラフィック 画面 高速 ク リア 対象 ^ 
(選択 い)/ 非 選択 ①)) 



-ジ 選択 



〔グラフィック 画面 モードと じ^^〜じド。 の 設定〕 



ひ 


ページ モ— 


ド) 


? 3 


? 2 


ド 1 


^0 


(^?3) 


ゆ 2】 


に円) 





非 選択 :0 
選択:, 





-モ一 ド) 




ド 


(び 3 ), (^?2) 





非 選択 : 00 
選択 :1 1 



ページ モード) 



? 



非 選択: 0000 
選択 : 1 1 1 1 



201 



秦図 …… 26 0^70 ^22 (ラスタ コピー 転送先, 転送 元 指定) (乐^!)"。) 

^ 15 8 7 匕 け 




,図 …… 11 0^X0 は 3 テキスト アクセス マスク (ま 已 8 00 2 匚) 



マスク パタ ン 




データが 変更され る 
データが 変更され ない 



202 



画面 制御 



01 



グラフィック 画面 用 の 特殊機能 



[! グラフィック 画面の 高速 ク リア 

グラフ ィ ッ ク画而 高速 ク リ ァは, グラフ ィ ッ ク 画面 を ハー ド 的に 高速に ク リ ァ する 機能です。 

X 68000 は, グラフィック 画面 用の V 尺八]^ として 512 X バイ ト もの メモリ を 持たせて いま 
す。 しかも, グラフィック 画面 は 1 ドット 力 5 ' つねに 1 ワードと いう 1#成 になって いるた め, 表 
示 画面が 768X512 ドッ ト モードの ときには 表示され ている アドレス 領域 は 768仄 バイ ト 
〈768X512X 2 バイ ト) ある ことになります。 画面の ク リアの たびに, これ だけの 領域に じ? II 
が アクセス しなくて はなら ないよう では, 速度 的に も , じ? リ の 使用 効率 上 もよ いこと では あ り 
ません。 このため, X 68000 では (^下 (: 力 5 特 つてい る 画^^り 込み 胃の 動;^ を 利用して 画面 
の 1 フレーム 分の 時間 (通常, 垂 「釘 司 期 期間 1 回 分, インター レース 時 は 2 回 分) で グラフ ィ 
ック 画面 をク リアして しまう 機能 を 持たせて います。 この 機能 を 高速 ク リア 機能と 呼びます。 

高速 ク リア 動作 は, グラフ ィ ック コントローラの 尺 21 の 下位 4 ビッ トでク リアす る ページ 
を 指定し, 0?丁じ0 作 ポート は ^80480) の ビット 1 を' 1 'にす る ことで', ク リア 動作の 開始 
をキ! ^します。 (:^丁じ 動作 ポート は, バイ ト 〈8 ビッ ト) ポートで ある ことに 注意して くださ 
い。 高速 ク リア 動作 力 (終了す ると, (:!^ 丁 (: 動作 ポー ト のビッ ト 1 は 自動的に' 'に 復帰し ます。 

グラフ ィ ック 画 而の実 画面 サイズが 512X512 ドッ 卜の ときには 問題な く, 指定した ページ 
の 実 画面^ [本が ク リアされ ますが, 1024X1024 ドッ トの ときには ク リアされ ない 領域 力 5 ' 残る 
ことに 注意が 必要です (図 2め。 表示 |11 面が 512X512 ドッ トの ときには, 縦 方向 は!!!^ 画面の 
縦 方向 分 ほ12 ドット), 横 方向 は 実 画面の 幅 いっぱいに あたる 方形の エリアが 消去され それ 
以外の 部分 は その ま ま 残 り ます。 表示 画面 サイ ズが 256乂 256 ドットの とき に は, 縦 方向 はや は 
りき 画面 分 〈256 ドッ ト) です が, 横 方向 は 表示 画面の 州 則 左右 256 ドッ ト分も 消去され ず 
に 残って しまいます。 



画像 取り込み 

画像 取 り 込み は, オプションの カラー ィメー ジュニ ッ ト を 接続 したと きに, ィメー ジュニ ッ 
卜から 乂 68000 本体に 入力され る 鋼 像 データ を グラフ ィ ック 乂尺 八] VI に 転送す る 機能です。 
(: 尺 丁 (: 重が 乍 ポート ^280480) の ビット を 1 'にす ると, 次の 乂-013? 信号の 立ち上がり 
(フレーム^ 期間の 開始) 時から, この グラフィック V ^八] V [への 転送が 始まり' 1 フレーム 
分の 時間 (通常, 垂直 同期 期間 1 回 分, インター レース 時 は 2 回 分) で 1 画面^^ が 取り込ま 
れ ます。 1 画面 分の 取り込み 力 5 ' 終了しても, じ尺丁じ 動作 ポートの ビット は' 'に 戻らず, 取 



203 



クラ フィック 高速 クリ ァ 機能で 消去 される 領域 

1024 ドット 



768/512 ドット 



表示 画面 



実 画面 







肖 去され る 領域- 


512 ドット 







1024 ドット 



256 ドット 



256 ドット 
256 ドット 256 ドット 



き 図 …… 28 



表不 
画面 



実 画面 




512 ドット 
256 ドット 



消去され る 領域 

実 画面 1024X1024 ドット 時 



表不 
実 画面 



,512 ドットに | 

表示 画面 

II 

実 画面 



〉 




消去され る 
領域 



実 画面 512X5 に ドット 時 



丄ヽ ゾ 丄; 



丄 ヽ, 丄 952 



上 、丄 952 



丄 き 



卞ま 01 



ムヽ丄さ01 



ムヽ丄 215 



り 込み 動作 は 81 続 した まま にな り ます。 取り 込み 動作 を 終了 させる に は (^丁じ 動作 ポ一 

ビッ ト に, 0, を 書き込みます。 



画面 制御 



02 



テキスト 画面 用の 特殊機能 



アクセス マスク 

テキス ト画面 は, 1 ヮー ドの データが 画面 上で 横 方向の 16 ドッ トに 対応す る, 水平 型の ビッ 
ト マ ッ プ 方式です。 このよう な 構造の 画面の 場合, 画面 上の 1 ドット だけ を 変更 したり' 水平 
方向の 数ドッ ト だけ を 変更した りする ような ときには, いったん V 尺八] VI の データ を 読み出 
し, 必要な ビット だけ を 変更した データ をつ くつてから 書き直さなくて はなり ません (ウィン 
ド ゥ の 端の 部分の 描画な どで は, このような こと 力 2 ' 頻繁に 発生 します)。 

X 68000 では, このような 手間 を 省き, 1 ワード 中の 必要な ビッ ト だけの 書き換え を 可能に 
する, アクセス マスク レジスタ ぼ23 は ^。(^ぬ) を 用意して います。 テキスト 固 面の 書き 換 
え を 行う 前に アクセス マスク レジスタに, データ を 変更したい ビット を' 八 変更したくない ビ 
ッ トを' 'にした マスク パターン を 書き込んで おき, アクセス マスク 機能 を 0^ は 21 は 28002 
八) のビッ ト 9 を 1 'にす る) にしておく と, 以後の テキス ト 乂尺 灰] V [への 書き込み では, ァク 
セス マスク レジスタで 指定した ビッ ト だけが 書き 換わる よ う にな り ます。 



同時 アクセス 

テキスト 画面の ような ビットマップ 画面の もう 1 つの 弱点と して あげられ るの 力 5 ', 色 指定の 
面倒 さでしょう。 乂 68000 の テキス ト画面 は, 4 つの プレーンの データに よって 色 指定 を 行う 
ようになって います。 このため, 4 つの プレーン すべて を 書き換えな いと, 思い どおりの 色に 
変更で きない わけです。 

4 つの プレーンの データ を 変更す るのに 4|リ1 の V 尺八] VI アクセス を 行う ので は, 単純計算で 
も, ^速度 は 1/4 に 低下して しまいます。 ただでさえ ビットマップ 画面で 処理が 重くな りが 
ちな 麵 速度が, さらに 1/4 も 低下す るの はお もしろ く あ り ません。 また, 書き換えに 時間が 
かかって いると, 書き換え ている 問, その 部分の 色が 変化して い く の 力 《 見えて しまう ことにな 
つてし まい, 見栄え カ 《 悪くな ります。 

このよう な 問題 を 回避す る ために あ るの が 同時 ァ ク セス 機能です。 同時 ァ ク セ ス 機能 は, 
8 21 の ビット 4 ~ 8 で' 制御され ます。 ビット 8 は 同時 アクセス 機能の 0卜ズ0?? ビッ ト で', '!' 
になって いると き だけ, 同時 ァ ク セ ス 機能が 有効に な り ま す。 

ビット 4~7 は, 同時 アクセス する プレーンの 選択 を 行う ものです。 ビット 4~7 がそれ ぞ 
れ テキス トの丁 〜丁 3 プレーンに 対応して おり, 同時 アクセス を 行いたい プレーンに 対応す 
るビッ ト を 丁 にして お く ことで', 1 回の 書き込みで 指定した プレーン すべての データ か 書き 



205 



I 図 …… 29 テキスト アクセス 制御機 構 



書き込み データ 



823 1^8002^ 0001000000000100 マスク ノ 、'タン 




(マスク 力い 1 'の ビット だけが 
変更され る) 











丁 




で' 













丁 




,0, 





テキス ト ページ 2 



テキス トッ!^リ ページ 




テキス ト ぺ一ジ 3 




821 168002 ゑ 



テキス ト ページ 1 



(ページ 選択 ビットが リ 'の ページ だけが 

変更の 対象と なる) 



0101 



アクセス ぺ一ジ 選択 



6 5 4 6110 



換わる ようになります。 

アクセス マスクと 同時: ァ クセス の 組み合わせに よる アクセス 制御の 例 を 図 29 に 示 します の 
で 参考に してく ださい。 



|| ラスタ:] ビー 

テキスト VI^V]V [の データ を 4 ラスタ (水平 4 ライン) 単位で 他の 任意の ラスタ 位置に 幸 云 送 



206 



画面 制御 



する 機能です。 もう 少しく だけた 言い方 を すれば, 1024X1024 ドット ある テキスト 画面 (実 画 
面) を 水平 方向に 256 等ノ 分して でき る 1024ズ 4 ドット の 横長の 長方形 ェ リア を, 他の 長方形の 
領域に まるごと コ ピーす る 動作です。 転送 は ラス タ コ ピー 動作 力 吋餘 された 次の 水平 同期 期間 
中に 行われます。 テキス ト 画面に は, グラフ ィ ッ ク固 面の 高速 ク リアの よう な 機能が あ り ませ 
んが, 同時 ァ クセス や ラスタ コ ピー 動作 を 利用 すれば, ダラ フィック 画面と 同等]^ 11 の 速度で 
ク リアす る ことができます。 

ラスタ コピー は II 22 で 牟云送 元と 転送先, I? 21 の 下位 4 ビット で ラス タ コ ピー 動作 を させた 
い テキス ト 画面の プレーンの 選択 を 行った 後, (:^丁じ 動作 ポートの ビッ ト 3 を' 1, にす る こと 
で 動胙が 開始され ます。 

転送 元, 転送先 は それぞれ (: 尺 丁 (: の 尺 22 の 上位 8 ビッ ト, 下位 8 ビッ トで 寸旨定 します。 設 
定す る 値 は, ラスタ 番号で はな く , 師 (ば を 4 ラスタ ごとに 切つ た 横長の 領域の 番号です。 車 云 送 
される ラスタ 番号 は, (設定 ィ直乂む ラスタから (設定 も 直 乂斗+ョ) ラスタまでの 4 ラスタ 分と 
なり ます。 

尺21 の 下位 4 ビッ トは, ラスタ コピー 動作の 対象と なる プレーン 番号の 設定です。 丁 〜丁 3 
の 各 プレーンが ビッ ト 0〜3 に 対応して おり, 1 'を 設定した プレーン だけ ラスタ コピー 動作が 
行われます。 



^ 5 ビデオ コントローラの 特殊 表示 機能 



前に も 述べた とお り, ビデオ コ ン ト ローラ は X 68000 内部で つ く られた テキス ト 画 面, グラ 
フィ ック 画面, ス プライ ト 屮80 の 各 画面と, 外部 ビデオ 信号 を もとに, 各 画面の 01^/0?? や 
半透明, '!^ プラ ィ オリ ティな どの 制御 を 行い, 実際に (: 尺 丁 ディ スプレ ィ に 表示され る 信号の 
作成 を 行って います。 画面の 01^/0?? や プライ ォ リ テ ィ 制銜嘰 能に ついては すでに 述べ ま し 
た。 ここで は 残って いた, 半透明 機能と 特殊 プライオリティ 機能に ついて 説明して おき ましよ 
ラ。 



0-01 



半透明 



半透明 機能 は, グラ フィック 画面の うち もっとも プライオリティ の高レ 、ぺー ジ (仮 り にべ 一 

ス ページと 呼ぶ ことにします) と, 他の 画面の 色 データ を 50 パー セン トず つの 割合で 加算して 
いく 機能です ^。 加算 は, ディスプレイの 原色で ある 尺 08 それぞれで ^ して 行われ ますの 
で, ちょう ど 半透明 処理 を 行う 画面の 色 を 平均 した 色に な ります。 2 つの 画面で 半透明 動作 を 



207 



させて いる と き, 片側が 単色 だと, ちょう ど 色付きの セロ ファン 紙 を 通して 見た よう な 感じに 

なります。 半透明 処理 を 行う 領域の 指定 は, ベース ページの VII 八] V [データの 最下位 ビッ トを 
,1 'にして 行います。 最下位 ビッ トが' 'の 領域で は 半透明 処理 は 行われず, 通常^に なり ます。 
このと き, ベース ページの^ 上 は, 最下位 ビットが 強制的に' 'にされ た 状態になります。 こ 
のた め, ベース ページで 実際に 使用で き る 色 数 は, 半透明 動作 を 行わない と きの 半分に な り ま 
す。 

#1 実際に は 50 パーセントず つに してから 足す の は 面倒な ので, いったん 両方 を 8(38 
ごとに 加算した 後で 1/2 にす る (! ビット シフトす る) という 計算 をして います。 計算 
さ れた 和の 最下位 ビ ットは 2 で 割 つ た 場合の 余 り と な り ます 力 \ こ れは切 り 捨てられ ま 
す。 輝度 ビット は ベース ページ 側 は 無視され, 相手 側の 輝度 ビットが そのまま 用いられ 
ます。 ベース ページ 側の 輝度 ビットの 値が つねに' I 'であると 考える と, 8(36 の 計算と 同 
様になり ます。 

X 68000 の 半透明 ^1 を データの 流れに 注目 して まとめる と, 209 ベー ジの図 30 のように 
なります。 半透明の 相手と なりうる の は, テキスト (ス プライ ト 十80 画面 产 2 , グラフ ィ ック 
画面の 中で 2 番目に フ 。ラ ィ オリ ティ の 高い ぺー ジ (セ カン ドぺー ジ と 呼ぶ こ とに します), テレ 
ビ /ビデオ 画面, テキスト パ レツ ト 番の 色の 計 4 811 です。 このうち, テレビ/ビデオ 固 面 は, 
オプションで 売られて いる カラー イメージ ュニッ トを 使用した ときに 利用され ます。 

^ 2 テキスト 画面と スプ ライト 画面 は 独立した 画面です が, 半透明 処理 上 は 連動 
させられ ています。 テキス ト 画面 を 半透明 処理の 相手に すると, ス プライ ト 十86 も 自動 
的に 半透明の 対象と なり ます。 さらに テキス ト 画面 ゃス プライ ト 十 8(5 画面が 半透明 処 
理 される の は, ベース ページの ほうが プライオリティの 高い 場合 だけで, ベース ページ 
の ほうが プライオリティが 低い と きに は, 通常 どおり グラフ ィ ック 画面 上に 重ねられて 
表示され ます。 たとえば, プライオリティの 順序が グラフィック〉 テキスト〉 ス プライ 
ト 十 8(3 画面と なって いれば, ス プライ ト 十 8(3 画面の 上に テキス ト 画面が 重なった もの 
と グラ フィック 画面の 間で 半透明 処理が 行われ ま すし, テキスト〉 グラフィック〉 スプ 
ライ ト 十86 の 順にな つて いれば, グラフィックと ス プライ ト 十86 画面が 半透明 処理 さ 
れ たうえに テキス ト 画面が 重ねられて 表示され ます。 

これらの 画面 を 複数 半透明 処 雜ォ 象と する こと もで き ます。 ベース ページとの 間で 半透明 処 
理を 行わせ る ことので き る 組み合わせ は, 次の 7 通 り が あ り ま す。 



1〉 テキス トパ レツ ト の 色 

2〉 テキスト (スフ-ライ ト 十8^ 画面 

3〉 セカンド ページ 

4〉 テキスト (スフ。 ライ ト 十80 画面 
5】 テキスト (スフ' ライト 十80 画而 
6〉 

7〉 テキス ト (ス プライ ト 十80 固 面 



+ セカンド ページ 



-1- 



セ カン ドぺ - 
セ カン ドぺ - 



'ジ 
き ジ 



十 テレビ/ビデオ 画面 
屮 テレビ/ビデオ 画面 
一 瞬 面 



画面 制御 



參図 一… 30 半透明 機構 



ビデオ 入力 



テキス ト 




スプ ライト 




画 面 




十 86 画面 






色 コード 



グラフィック 画面 
(プライオリティ 最高 位) 



グラフィック 画面 

(プライオリティ 2 番目) 



色 コード 
(最下位 ビット 無視) 



色 コード 
(最下位 ビット 無視) 



テキス ト 

ノ、 。 レツ 卜 



グラフ ィ ック 

ノ^ レツ ト 

(色 コード 偶数 用) 



半透明 演算 




6 2 の ビット 9 



62 の ビット 14ニで, 




ほ 2 の ビット" :'" 



(^丁 出力 



半透明 機能の 制御 は ビデオ コントローラの 尺 2 で 行います。 尺 2 のビッ ト 構成 を 図 31 に 示 
します。 



209 



31 ビデオ コン ト 口- 



會 図- 

シャープ 予約 :0, 
グラ フィック 11 画の 最下位 : 1 
ビットで, 半透明, 特殊 プライ 
オリ ティ 領域 を 指定 



闩 2 (乐 日 826 0(0 



通常 モード 



特殊 プライオリティ モード 1 
半透明 モード 1 



スーパ— インポ— ズ時 でも 
ビデオ 画像 を 表示し ない 



つねに' 'にしておく 

スプ ライト 画面 表示 0^1/0 「「制御 

(リ (の 

テキス ト 画面 表示 0リ め 「「制御 
グラフィック 画面 01^/0 「「制御 

(!) (の 

(実 画面 サイズ 1 024 X 1 024 ドッ ト 時) 

「 グラフィック 画面 0^1/0 「「制御 
(実 画面 サイズ 512X512 ドット 時) 



丫 5 


州 


州 丁 


關 


4ル 


8ル 


6/0 


0/1 


,0, 


501^ 


丁 リ 


854 


653 


052 


051 


030 




低 —プライオリティ— 高 



グラフィック 




テキスト 
スプ ライト 








グラフィック 


十 


グラフィック 








グラフィック 




ビデオ 画像 








グラフィック 


牛 


テキスト ハ。レ 

ッ卜 #0 の 色 



1 グラフ ィ ック 画面の プライオリ 、 
、ティの ほ う が 高い 場合の み 有効] 



(カラ一 ィメ 一ジュ 二 ッ ト で 利 用 〕 



已 ズ0ん4ノ ド ビット 等と 無関係、 
に 強制的に 半透明 モードに 
なる ので 注意す る こと 



〔グラフィック 画面 モードと 653—050 の 設定〕 
〈4 ページ モード) 〔2 ページ モード) 



い ページ モード) 



「3 


? 2 


円 


^0 


は 3〕 




^50 





^1 


? 


化ジ), (。ヨシ 





? 



210 



画面 制御 



半透明 機能 を 使う ときには 尺 2 のビッ ト 10 は 必ず' 1 'にします。 この ビッ トが' 1 'のとき, 領域 
指定 を ベース ページの 最下位 ビッ トで' 指定 するとい うこと になって います。 現在 乂 68000 で 
は, 領域 指定に はこの ブデ 法し か サポートされ ていないので, 半透明 機能 を 使う ときには ,1 '以 
外 は 選択で き ません。 この ビット が' 'の と き の 動作 は 未定義 となって います。 

画面の 組み合わせの 選択 方法 は, 先 ほどの 78*1 の 組み合わせ のうちの :0 と, それ 以外の 場 
合と に 分 -類 されます。 

ビット 14 力 5 '' 1 'になって いると, 他の ビットと は 関係な く, 無条件に :!) カ^! 択 されます。 

2〉 〜ァ) の 組み合わせの 選択 時 はビッ ト 14 を' 'に 設定し ます。 この場合, さらに ビッ ト 11 と 

12 の 両方 を' 1 'に して ビデオ コン ト ローラに 半透明 動作 モー ド である こ と を 教えな く て はな り 

ません。 なお, 半透明 動作が^^ される と, 半透明 対象の 画面の 有無に かかわらず, 自動的に 

ベース ページの データの 最下位 ビッ ト は' 'である ものと して 扱われる ようになり ます。 

ヌ)〜?) の 組み合わせからの 選択 は, ビット 8, 9, 13 で 行います。 それぞれの ビットが テキ 

ス ト画而 , セ カン ド ページ, テレビ/ビデオ 画面の 半透明 01^/0?? 制御に なり ます。 たとえば, 

4〉 の 組み合わせ, すなわち テキスト (ス プライ ト 十80 画面と セカンド ページの 両方との 半 透 

明 処理 を 行う とき は, ビット 8, 9, 13 は それぞれ';!', !', で 'となります。 

ビット パターンから みると, ベース ページと テレ ビ /ビデオ 画面 だけの 半透明 もで きそう です 

が, ビデオ コント ロー ラ 側の 制約に より, テレ ビ /ビデオ 画面 を 半透明の 対象 とするとき は テキ 
スト (スフ。 ライ ト 十80 画面 力、 セカンド ページの いずれ 力 、が 半透明 対象と なって いなくて は 
なら なくなって います。 つまり, :!) 以外の パターン では ビット 8, 9 のい ずれ かが' 1 'になって 
いないと 半透明 1 力作に な らな いわ けです。 



0-02 



特殊 プライオリティ 



#?来 プライオリティ というの は, グラフ ィ ック阿 面の プライオリティが テキス ト 画面 ゃスプ 

ライト 十 80 画面より も 低い 場合に, グラ フ イツ ク 画面の うち もっとも プライオリティ の 高い 
ページ (半透明 11 '能のと きと 同じように ベース ページと 呼ぶ ことにします) の プライオリティ 
を テキス トゃス プライ ト 十80 よ り も 高く する 機能です 〈212 ページの 図 32 参照)。 ^プラ 
ィ オリ ティ 機能と, 先 ほど 説明 した 半透明 機能 は 選択に なって おり, 両方の 機能 を 同時に 使う 
こと はでき ません。 

^ブラ ィ オリ ティ も 半透明 と 同じよう に! 10 朱 ブラ ィ オリ ティに する 領域 を, ベースべ 一 ジ 

の VI^VIV [の データの 最下位 ビッ トで 指定し ます。 最下位 ビッ 卜が' 1 'になって いる ドッ ト だけ 
力 40 朱 プライオリティ 動作の 扱い を 受け, テキスト ゃス プライ ト 十80 画面よりも プライオリ 
ティカ^; くな り, 最下位 ビッ ト 力 5 '' 'の 部分 は 通常の プライオリティ どおりに ^^されます。 



211 



図 …一 32 特殊 プライオリティ 動作 

グラフィック 画面 



ク' ラ フィック 画面 




特殊 プライオリティ を 特殊 プライオリティ を 



行わない 場合の 表示 行った 場合の 表示 

グラフ ィ ック 画面の プライオリティ 自体が テキスト 画面 ゃス プライ ト 十80 画面より も 高い 
場合に は, 当然の ことながら キ#朱 プライオリティに はなり ません。 たとえば, プライオリティ 
の 順序が ス プライ ト 十80〉 グラフ ィ ック〉 テキスト ならば, キ# 朱 プライオリティ 領域で はべ 
ース ページ〉 スフ。 ライト 十80 グラフィック (ベース ページ 以外)〉 テキスト, そのほかの 領 
域で はス プライ ト グラフ ィ ック (ベース ページ を 含む)〉 テキストの 順になります。 

街 朱プラ ィ オリ ティ 動作の 制御 は ビデオ コントローラの^ 2 で 行います。 特殊 プラ ィ オリ テ 
ィ!^ 乍 を 行わせる に は, 112 の ビット 14, 12, 11, 10 を' 0,, !', で', 1 'に 設定し ます。 ビ 
ッ ト 10 は 半透明の ときと 同じように, 領域 指定 を ベース ページの 最下位 ビッ トで 行う こと を 
示す ものです が, 現在 X 68000 では, こ^ XI 外の:^ 去に よる 領樹 旨定の 方法 はサ ポー ト されて 



212 



画面 制御 



ので, この ビッ ト は 半透明 機能 や 持殊 プライ ォ リ ティ 機能 を 使う ときには 必ず' 1 'に 設定し ます。 
ビッ ト 14 は 半透明 機能の ほうで 説明し ました カ^ この ビッ ト 力ぐ 1 'になって いると, 強制的に 
半透明 機能 (テキスト ハ。 レット の 色との 半透明 処理) が 選択され てし まうた め, 特殊 プライ 
オリ ティ 動作 を させたい とき に は' 'に 設定して お く 必要が あ ります。 







6 カラー パレット 



カラー パ レツ ト (以後, たんに パ レツ 卜と 略します) は, V 尺八] V [などから 出力され る データ 
(以後, 色 コードと 呼ぶ ことにします) と, 実際に 0ダ 八 変換され て (: 尺 丁に 送り出される デー 
タ (色 データと 呼ぶ ことにします) と を 対応させる ものです。 ブロック 図から も わかる ように, 
X 68000 の 出力 段 は 尺 08 の それぞれが 5 ビットと 輝度 1 ビ ッ ト の 計 16 ビット, 65536 色の 
^が 可能です から, パ レツ トは 色コー ド 力 5 ' どの 値のと きに 65536 色 中の どの 色 を 出力す るか 
を 決定す る ものと なって います。 

X 68000 に は 2 組の パ レツ 卜が あり, 片方 は グラフ ィ ック 画面 専用, 他方 は テキストと スプ 
ライ ト 十 80 画面で' 共用され ています。 以下, 簡!^ 匕の ために, 前者 を グラフ ィ ックパ レツ ト, 
後者 を テキス トパ レツ ト と 呼ぶ ことにします。 

ここで はまず, 構造の かんたんな テキストと ス プライ ト 十80 画面 用の パレ ッ ト について 説 
明 し た 後, グラフィック 画面 用の ノ 、。レット につ レ 、て 説明す る ことにします。 



0-01 



テキスト パレット 



テキスト バレント 機構 

テキスト ハ 。レツ 卜の;!^ を 214 ページの 図 33 に 示します。 16 ビッ ト 長の ハ 'レツ ト 尺八] VI が 
256 ワード 分 あり, テキスト 画面 ゃス プライ ト 十80 画面から 入力され る 色 コードに よって, こ 
の 中の 1 つが 選択され そこに 書き込まれ ている 16 ビッ ト データが 色 データと して 出力され 
ます。 

ス プライ ト 画面で は, 色 データの 下位 4 ビッ トは ? じ0 エリアで, 上位 4 ビッ トは それ 
ぞれス プライ トス クロール レジスタ や 80 データ エリアで 指定され て 計 8 ビッ トの データと 
なり ます。 一方, テキス ト画面 は 4 つの プレーンが それぞれ 色コー ドの 下位 4 ビッ トに 対応し 
ます。 」ニ 位 4 ビッ ト はつねに と して 扱わ ズム 色 コードの 0~15 までの ハ 。 レツ 卜が 使用され る 
ことにな り ます。 



213 



會図 …… 33 テキス トとス プライ ト用 十86 画面 パレ ッ ト 機構 



3(3 データ エリア ^ ま 
1 ブライト スクロール レジス 夕/^ 



ぉ6 エリアで 指定 



スプ ライト/^ 画面 















丁 3 丁 2 丁 1 丁 



アドレス 色 コード 

ま 己 82200 ま 00 

; \ 
ま 巳 823「8: 



色 コード "匕 は) 



パ レツ ト 
(ぉらズ^ヒけ) 



色 データ 06610 





; 1 I ; 
只^ 


81116 





テキスト バレットの アドレス 配置 

テキス トパ レツ ト ^八] V [のァ ドレス 配置 を 215 ページの 図 34 に 示します。 テキス トパ レツ 
トは 5282200 〜あ 2823?? の 512 バイ トに 割り付けられ ています。 各パ レツ トは 16 ビッ ト長ぁ 
り, 色 コードが の ときには 5282200 番地の 16 ビッ ト データ 力、 1 の ときにはお 282202 番地 
の データが 出力され ます。 出力され る 16 ビッ トの色 データ は, ビッ ト カザ 卓 度ビッ ト, ビッ ト 

1〜5 が 81116, ビッ ト 6〜10 が 尺 63, ビッ ト 11— ほが & 6611 の 成分に なり ます。 



0-02 



グラフィック パレット 



グラフィック バレット 機構 

グラフィック パレット は, 16/256 色 モードの ときと, 65536 色のと きとで 大きく 構造 力 喷ィ匕 
します。 16/256 色 モー ド のとき のパ レツ 卜の を 215 ページの 図 35 に, 65536 色 モー ドの 
ときの 權を図 36 に 示します。 16/256 色 モードの ときの パレットの 纖は, パレット ァ ドレ 
スが 異なる ほか は テキス ト パレ ッ ト と ほとんど 同 じです。 グラフ ィ ッ ク 画面の 場合, に 



214 



画面 制御 

直接 色コ一 ドを 書き込みます 力、 この 値が そのまま パ レツ ト を 選択す る データ と して删 され 
ます。 

參図 …… 34 テキスト, スプ ライト 十86 画面 用 パレット 



き 図 …… 35 グラフィック パレットの 機構 (! 6/256 色 モード 時) 



7^1^ の データ 



1:117 






4 




1)110 














の データ 



256 色 モード 



16 色 モード 



色 コード (糧) 



アドレス 色 コ一ド 
5 & 82000 500 



パ レツ ト 8 八^! 
はミらズ^&は) 



\ 




色 データ 06 匕 10 




只 6 づ 


81116 





ァ ドレス 



色 コード 



色 データ 



お 2200 
3^82202 
3^82204 



3^8221 ^ 



5 ビ 82220 
5^82222 



5^823(^0 
3 已 823 ド匚 



300 
501 
202 



30^ 



510 
^11 



5^ 
軒 



スプ ライト 十 8 。 画面で 使用 可 

テキスト 画面で 使用 



215 



65536 色 モード 時の パ レツ トの^ ^ は, テキスト パ レツ トゃ 16/256 色 モードの ときと はず 
いぶん 変わった ものと なって います。 

まず, パ レツ トが 16 ビッ ト 乂256 個と いう 構造であった もの 力、 8 ビッ ト ズ256 個 乂2 組と 
いう 構造に 変ィ 匕し ます。 グラフ ィ ック マ兄八]^ から 入力され た 16 ビッ トの色 コード は 上位 8 
ビッ ト, 下位 8 ビッ トに 分割 さ;^ それぞれの コードに よって 2 組の パ レツ トの 中から 1 つ を 
激尺 します。 そして, この 2 組の ハ 'レツ ト から 出力され た 8 ビッ ト データが:^ 吉 されて 16 ビッ 
トの色 データと なります。 

65536 色 モード 時の パ レツ ト はこの ような 構造に なって いるた め, パ レツ トの 内容 を 1 つ 書 
き 換える と, 256 色 分に!^ してし まいます。 たとえば, 色 コード 力 10123 のとき の 青の 色が 少 
し 足りない ので, 該当する パレット を 書き換え" X 青色の データ を 増やす と, 30223 や 30323 な 
ど, 色コー ドの 下位 8 ビット が 3 23 である 色す ベての 青色 か 増加 してし まいます。 テキスト 画面 
や グラフ ィ ッ クの 16/256 色 モー ド では, 必ず 色 コードの 1 つ 1 つに 色 データ 力、' 対応す る よ う 



き 図 一… 36 グラフィック パレットの 機構 (65536 色 モード 時) 



色コ— 

まほ 8 


ド ぃ6 &; 




1 "! 1 1 "! 1 - ~ 1 

ゾ麵 の 


; データ 


1 1 1 1 


1 1 色 コード 

V 1 (上位 8 じけ) 




\ \ 色コ— ド 

\ 1 (下位 8ヒ10 



5582000 300 



5 巳 821 「じ 許 



ペレツ ト [^^[^(闩) 
(256 X 8[^;0 



5582002 300 



5 ビ 821 ドに 5^ 



パ レツ ト (し) 



色デ一 夕 

(上位 8 610 



色 データ 

(下位 8匕10 



0「66 门 



8 お (上位) 



お づ (下位) 



81 リ 6 





1 1 ! "! 

0^6611 
1 1 1 1 


! 1 1 1 

ぉづ 

!' 1 1 


1 1 1 ; 

8 山 6 





色 データ い 6^〉 



216 



画面 制御 

になって いるた め, このような こと は 起こりません。 

65536 色 モードの ときの パレ ッ トは, このように 他の モードの ときに 比べて 少々 扱いに くい 
こと や, ハード 的に^ 可能な 色す ベて を 同 11#^: できる ため, パレット を 操作す る 意味が あ 
まリ 見あたらない ことから, 固 面の 初期 ィ畴 に 色 コードと 色デー タカ 2 等しくなる ように 設定 さ 
れた ままに なって いる のが 普通です。 

01 グラフィック パレットの アドレス 配置 

16/256 色 モー ド のと きの パレ ッ ト I?^]V [のァ ドレス 配置 を 図 37 に 示します。 ハ 。 レツ ト 
は ぁ282000~32821 の 512 バイ ト 分が あ り, 色コー ドが' 'の と き に は 3282000 番 
地の 内容 力く 丁の ときには 3282002 番地の 内容が 出力され ます。 出力され る 色 データの ビッ ト 
配置 は, テキス ト パレ ッ ト と 同様に ビッ ト に 輝度, ビット 1 ~ 5 に 81 じ& 6 〜10 に 尺64 
11~15 に 01^611 の 成分 データ と して 扱われます。 

65536 色 モードの ときの パレット I^\]V [の アドレス 配置 を 図 38 に 示します。 色 コードの 下 
位 8 ビッ トの 変換 用に 使われる パ レツ ト (下位 パ レツ トと 呼ぶ ことにします) は 3282000 番地 
から 4 番地お き に, 上位 8 ビット の 変換に 使われる パレ ッ ト は 5282002 番地 か ら 4 番地お き に 
配置され ています。 

上位 パ レツ ト から 出力され る データ は 。!" 66 !!, および^ 6 づ の 上位 3 ビッ ト, 下位 パ レツ トか 

ら 出力され る データ は 尺63 の 下位 2 ビッ ト, 8111 & 輝度 データと なって おり, 連結され て 得ら 
參図 …… 37 グラフィック 用 パレット 〈16/256 色 モード 時) 



ァ ドレス 



色 コード 



色 データ 



3^82000 
5 匚 82002 
3^82004 



358201 ! 



3 巳 82020 
8 & 82022 



36821^0 
85821 ド「 



300 
302 



50 ド 



810 
311 



5^ 巳 
び「 



ぼ 色モ— ド時 



; 5 色モ— ド時 



217 



38 グラフィック 用 パレ' 
上位 パ レツ ト 



ト 〔65536 色 モー ド時) 



下位 ハ レツ ト 



ァ ドレス 


色 コード 

(上位) 


色 データ (上位) 


に 3 : リ 乂 


| 巳 82002 


お 




ま 01 




ま 曰 82006 


^02 




503 














^已 821 「巳 


^巳 巳 




5闩闩 





ァ ドレス 


色 コード 

(下位) 


色デ一 夕 (下位) 


^1 : 乂 | | 1 


お 82000 


500 








多 巳 82004 


502 
























5「「 





1)1115 : ^ ヒ 110 



多 巳 82000 



^6^ 


81 リ 6 




86 づ 


81 リ 6 









色 コ一ド (下位" 00 用 : 色 コ一ド (下位) ま 01 用 



れる 16 ビッ ト データの ビッ ト 配置 は 16/256 色 モード 時の グラフ ィ ックパ レツ トゃ テキス ト 
ハ 。 レット と 同一です。 

パ レツ ト 尺八] V [の 配置 は, 色 コード 力 3 ' 偶数のと きの データと 奇数のと きの データ を まとめて 
1 ワード ひ6 ビット) として アクセス できる ようになって います。 たとえば, さ战之。。。— 番地の 
16 ビッ ト データの 上位 8 ビッ ト に は 色 コードの 下位 8 ビッ トが 3 00 のとき の 色 データ (正 51 に 
は データの 下位 8 ビッ ト) が, 下位 8 ビッ ト に は 色コー ドの 下位 8 ビッ トカ ^01 のとき の 色デー 
タカ 砠定 されます。 



4 



00(^01^ (キャラクタ ジ エネ 
レー タ 闩ひ!^) 



(:。 尺 0^ [は, 英数字 や 漢字の 文字 ハ 。タン (以下, フォントと 呼びます 〉 力 3 省き 込まれて いる 



218 



画面 制御 



尺 01\4 のこと です。 乂 68000 は, テキスト 画面 も ビットマップ 方式 を 採用して おり, どのよう 
な 形の 文字で も 表示で き る ことから, 001^01^ にも さま ざまな 大きさの 文字 バタ ンが 用意され 
ています。 あら か じめ 用意 さ れて I 、 る 文字 ノ 、'タ ン の 一覧 を 図 39 に 示 します。 

0^?0^ 内に は 5 ^字 (半角, 1/4 角) フォント として 8X8 ドット, 8X16 ドット, 12ズ 
12 ドット, 12X24 ドットの 4 ネ顧, 漢字 (全角) フォント として 16ズ 16 ドット, 24X24 ドッ 
トの 2 ネ麵の 計 6 禾 藤の フォントが あり ます。 ^1 冊 肌 68 ^ の 1005 コールな どで サ ポー ト 
されて いるの は 8X16 ドッ 卜の 半角 文字と 16X16 ドッ トの 全角 文字 だけです が, 5乂- 11卩 
00, 上で は 他の フォント の^^ も 行える ようになって います。 図 中, 文字 レター フ ヱース とな 
つてい るの は, 実際の 文字の 大きさです。 英数字 を フォントの 大きさ いっぱいに 配置す ると, 
密着して 酉 己 置した ときに たいへん 見に くくなります。 このため, 実際の 文字 ハ 。ターン は, 文字 
フォント サイズと して 定義され ている 領域よりも 小さく して 汆 つた 端の ドッ トを 空白に する こ 
とで', 密着して 配置 されても 読み やすくなる ようにし ている わけです。 

じ0101\! [のァ ドレス 配置 は 図 40 のようにな つてい ます』? 00000~3?3888? に 16x16 ド 
ットの 全角 フォント が、 3?3 八 000〜5?3 八 7?? に 8 X 8 ドット, 5^800~8?337?? に 8 X 16 
ドット, 5?38800〜5?3^??? に 12X12 ドット, あ? ?!^!)〜?!^???? に 12X24 ドッ トの半 
角 フォント が 配置 さ;! ム さら に 3?40000〜3ド8?3^ に 24 X 24 ド ットの 全角 フォント か オ^ 5 
されて います。 16X16 ドットと 8 X 8 ドッ トの フォント データ 領域の 間 や, 24X24 ドッ トフ ォ 
ン ト 領域の 終わり と じ0 & 01^ 領域の #1 冬ァ ドレスで ある までのす き 間 はたんな 
る 空き 領域です。 

次に, それぞれの フ ォ ン トが じ0 尺 01^ 内に どのよう に擬 内され ている のか を 説明す る こ と 
にしましょう。 



図 …… 33 0〜 で 持って いる 文字 フォント 



文字 種 


フォント サイズ 


文字 

レター フエ一 ス 


文字コード 


英数字 


1 角 文字 


8X8 
12乂 12 


6X7 
10X10 


500 — 5「「 


半角 文字 


8 ズ16 
12X24 


7 ス13 
10X18 


漢 字 
非 漢字 


全角 文字 


16X16 
24X24 


15X16 
24X24 


非 漢 字:」 15 コ一 ド 上位 321 〜る 2^ 下ィ 上 

第 一水準: II お。〜 5 4 「につ サ む 「 

第二 水準: 〃 350 〜る 74】 めど' ^ヒ 



【 癧 英数字: 256 
文字 種 数 ^ 第一 水準 : 3008 
I , 第二 水準 : 3478 



219 



図 …… 40 0(3^0171 ァ ド レス 配置 



多 「00000 


16X16 ドッ トフ オン ト 
(非 漢字 752 文字) 


ま 「05 ビ 00 


16X16 ドッ 卜 フォント 
(第一 水準 漢字 3008 文字) 


ま 「10600 




16X16 ドッ トフ 才ント 
(第二 水準 潢字 3478 文字) 


5^38800 






8 


く 8 ドット フォント 〔256 文字) 


ま 「3 細 


8 : 


く 16 ドット フォント ひ56 文字) 


も 「38800 


12X12 ドッ ト フォント 〔256 文字) 


8^30000 


12: 


く 24 ドッ 卜 フォント ひ56 文字) 


5 「糊 00 


24X24 ドッ ト フォント 
(非 漢字 752 文字) 


本 「40380 


24 X 24 ドット フォント 
(第一 水準 漢字 3008 文字) 


屮 に ど I リ 






尜ド巳 「380 
5ド8「「「ド 




24 X 24 ドット フォント 
(第二 水準 漢字 3478 文字) 





220 



画面 制御 



0*2 8X1 6 ドット フォント 



8 乂16 ドッ ト フォント データの 樹杓 のされ 方 を 図 42 に 示します。 開始 ァ ドレスが 3?3 八 800 
から 始まり, 1 文字 あたり 16 バイ トを 使用して いる こと 以外 は 8 X 8 ドッ ト フォントと 同じ 
です。 



0\ 8X8 ドット フォント 



8X8 ドット フォント データの^; 內 のされ 方 を 図 41 に 示します。 フォント データ は 3?3 八 
000 から 始まり, 1 文字 あたり 8 バイ ト 分の メモリ 領域 を 使用して います。 

文字 フォント は 横 8 ドッ 卜が 1 バイ トで 表現され ており, 8 バイ 卜で 8 X 8 ドッ ト 分の パタ 
ン になります。 7夂 平 8 ドッ トは 右端が ビッ ト 0, 左端が ビッ ト 7 に 対応し ます。 

じ? I; から じ0 尺 01!^ [への アクセス は, バイト 単位で も ワード 単位で も 可能です。 ワード ひ6 
ビッ ト 単位) アクセスで じ0^01^ を 読み出した ときには, いちばん 上の ラインの パタン データ 
力 5 ' 上位 8 ビット, 次の ライ ンの データが 下位 8 ビッ ト にな り ます。 これ は 通常の メ モリア クセ 
ス のとき と 同じ ことなので, と く に 気にする ことはないでしょう。 



フォント 





お 15 8 


7 6110 


求 「3 八 000 


^0 


「1 




? 2 


^3 


4 「3 八 004 


ド4 


?5 


多 「3 六 006 


^6 


91 






れ 3 ム 7「。 






本 「3 八 71^ 







1 文字 分 
の データ 



X 



図 



74 31 4^ 5^ 

0.1 0.1 ? 一 04 



221 



き 図 …… 42 8 X16 ドット フォン 



^ 



1.110 



本 「3 八 800 
求 「3^802 
| 「3 八 804 
び 3 八 806 
5 「3 八 808 
5ド3 八 80 六 

ま 「3 八 証 



5 「387 巧 



5 


? 1 


? 2 


? 3 


? 4 




ド 6 


? 1 


? 8 


? 3 


? )0 


? 11 


円 2 


円 3 


? 14 


「15 













1 文字 分 
のデ一 夕 



03 12X12 ドット フォント 



12X12 ドッ ト フォント データ は 223 ページの 図 43 のように^! 内され ています。 開始 アド レ 
スは 3?38800 で, 水平 1 ラインに 2 バイト, 1 文字 あたり 24 バイト を 使用して います。 

8 ビッ ト 単位で メモリ に アクセス する (:?じ にと つて, 12 という 数値 は 中途半端です。 
00^01^1 では, 1 ラインに 2 バイト ひ6 ビット) 分の 領域 を使レ 、 このう ち 上位 12 ビ ッ ト に 
ハ 'タン を 登録して います。 残った 下位 4 ビッ ト はすべ て' 'か!! み 出されます。 

1 ワード 〈16 ビッ ト) 単位で 言 売み 出した ときには, パタンの 右端 はビッ ト 4, 左端 はビッ ト 
15 となり ます。 



222 



画面 制御 



04 12X24 ドット フォント 



12X24 ドッ ト フォント データ は 図 44 のように 格納され ています。 開始 アドレス は 3?~3 
000, 水平 1 ライン は 2 バイト, 1 文字 あたり 48 バイト を 使用して います。 

7 仁 平 データの 構造 は, 12X12 ドット フォントの ときと 同じように, 1 ラインに 2 バイト ひ6 
ビッ ト) を 使い, このう ち 上位 12 ビッ ト にパタ ン 力 5 ' 登録され ています。 下位 4 ビッ ト は, 12ズ 
12 ドッ 卜と 同様, つねに' 'となって います。 



I 図 …… 43 12X12 ドット フォント 





匕 は 15 8 


7 4 3 13110 




? 


^ 1 


す 


^38802 


? 2 


? 3 






? 4 


? 5 


で' 




? 6 


? 1 






? 8 


? 9 






? 10 


^11 




5「3 匿 


2 


^13 


,0, 


!「 


?' \4 


?15 




5^38810 


円 6 


ド 17 




5^38812 


円 8 


円 9 




5^38814 


^20 


?21 




51 : 38816 


? 22 


^23 








^訊 

















ゝ V -' 

下位 4 ヒ はは 
つねに で' 



丄ヽ - :,! 2 I 





1 闩' 1 1 


? 2 


9 3 


? 4 


9 5 


? 6 


? 7 


^ 8 


? 9 


^10 


1^1 1 


? 12 


「13 


?14 


^15 


? 16 


? 11 


? 18 


^19 


9 20 


^21 


1 922 1 


| ^23! 



223 



05 16X1 6 ドット フォント 



16ズ 16 ドット フォント のデ一 タ は 225 ぺ一 ジの図 45 のよう に^^ されて います。 開始 ァ ド 
レス は 3700000, 水平 1 ライン は 2 バイト, 1 文字 あたり 32 バイト を 使用して います。 

文字 フォントの 水平 16 ドッ トは, そのまま 1 ワードの データと して ネ&! 内され ています。 ビッ 
ト 配置 は^が ビッ ト 0, 左端が ビッ ト 15 になって います。 



》 図 …… 44 12 X 24 ドット フォント 



ド 36 



「38 



1)1115 
^30000 
が 30002 
ぉ隱 4 
ま 「30006 
ま 「3 0008 
ぉ議八 
51^30000 
が 3 圆 ビ 
5^30010 
忠 「30012 
5^30014 
^30016 
ま 「3001 8 
まド 3001 六 
^30010 
3^3001 & 

多 「30022 
ま 「30024 
求 「30026 
5^30028 

51^30020 
《「3002 匚 



5「3 「ド^ 



? 


? 1 


1 1 1 


? 2 


? 3 


1 '?' | 


? 4 


? 5 


1 ? 1 


「 6 


? 7 


| '?' ! 


? 8 


? 9 







円 1 


! ! 


?- \2 


円 3 


1 '? ! 


? 14 


「15 


1 1 


「16 


? 17 


1 "! I 


? 18 


「19 


| !', | 


? 20 


? 21 




? 22 


「23 


1 ふ, 


「24 


? 25 




^26 


? 21 


1 ^ 1 


?28 


「29 




? 30 


^31 




? 32 


「33 




? 34 


「35 




1^36 


1^37 




「38 


^39 




? 40 
? 42 


? 41 
743 




^44 


^45 




? 46 


「47 


す 








す 






-0 1 



ゝ ^ -' 

下位 41)11 は 
つねに' 0, 



1 文字 分の デ —夕 



224 



画面 制御 



図 …… 45 16X16 ドッ ト フォント 

16 ドッ 卜 




1)11 15 8 7 6110 



5^00000 


^ 


I 3 1 


ま 「00002 


I 3 2 




御 0004 


^ 4 


|3 5 


御 0006 


? 6 


! 3 7 


が 00008 


? 8 


ド 9 


串 「0000;\ 


「10 


円1 


5^00000 


「12 


? 13 




? 14 


円 5 


本 「000 10 


1^16 


「17 


ま 「000 12 


円 8 


? 19 


多 「0001 4 


? 20 


?21 


5^00016 


922 


? 22 


も 「0001 8 


^24 


? 25 


も 「0001 八 


? 2^ 


^27 


5^00010 


? 28 


? 29 


あ 「0001 ビ 


? 30 


? 31 



3^38880 



0*6 24X24 ドット フォント 



24X24 ドッ ト フォント データ は 図 46 のように 鶴內 されて います。 開始 アドレス は 3740000 
で, 水平 1 ライン 24 ドット 分が 3 バイト, 1 文字 あ た リ 72 ノ くィ ト を 使用し ま す。 

1 ライン 分の データ は 24 ビットと なって います 力、 じ? リ の メモリ アクセス は バイト 门 ビ 
ッ ト), ヮー ド ひ6 ビッ ト), ロン ダワー ド 〈32 ビッ ト) 力 5 ' 基本で あるた め, 24 ビッ トの ァクセ 
スは バイ ト 単位での アクセス を 3 回 繰り返す, 16 ビッ ト 十 8 ビッ ト と 2 回に 分ける, 32 ビッ ト 
分 を 読み出して 8 ビッ ト分を 切り捨てる などの 工夫が 必要です (奇数 番地から ワード 単位 や 口 
ングヮ 一 ド 単位の アクセス を 行おう とすると ァ ドレス エラー 力 3 ' 発生す るので, プログラム を 組 
む ときには 注意して ください)。 



225 



46 24X24 ドッ ト フォント 

24 ドット , 



? 


1 ' ド卜 ^ 1 


'圍 '口, ク' -' 


1 1 レ ゴ 1 1 


1 1 レノ 1 1 


1 1 レリ 1 1 


\ | トゝ 1 | 


1 1 III 1 1 


11 ?8 1 1 


い レ。 1 11 


1 1 レ" 1 1 




1 1 1 1 


11 ^1-5 1 1 


11 ^14 1 1 


リ ^15 1 1 


1 1 レ』 1 1 


11 ^17 1 1 


11 ^18 1 1 


1 'レ バ 1 1 


1 1 1 1 


1 1 レ 2 い 1 


1 1 1 1 


1 1 リ つ 4 1 1 


1 1 1 1 


1 1 1 1 


1 1 レク」 1 1 


1 1 1 ぶ 1 1 


1 1 1 1 


1 1 ^90 1 1 


1 1 1 1 


1 1 レパ 1 1 


1 1 1 1 


1 1 'ぶ 1 1 


1 1 1 「リ 1 1 


1 1 '口、; 1 1 


1 1 に^ 1 1 


1 1 1 1 


1 1 


1 1 '「',も 1 1 


1 1 レ 4 3 1 1 


1 1 1 1 
























































「69 


「70 





お 8「3^ 
5「8「3もビ 





1 ?' 1 


1 ?' 1 


も 「40002 


^ 2 


? 3 


が 40004 


? 4 


I 3 5 


主 「40006 


I 3 6 


? 7 


ま 「40008 


? 8 


? 9 


ま 「4000 八 


? 10 


円 1 


51^40000 


円 2 


? 13 


^4000^ 


「14 


^15 


《「棚 


円 6 


? 17 


5^40012 


円 8 


円 9 


主 「400 14 


? 20 


? 21 


ま 「4001 6 


? 22 


? 23 


^40018 


^24 


? 25 


が 棚" 


? 26 


? 21 


《「40010 


「28 


^29 


ま 「4001 王 


? 30 


? 31 


も 「413020 


? 32 


? 33 


《「40022 


「34 


?35 


ま 「棚 24 


^36 


? 37 


51 7 40026 


?38 


「39 


が 40028 


940 


? 41 


ま 「4002 八 


? 42 


?43 


^40020 


「44 


? 45 


串 「4002 ビ 


「46 


^47 


ま 「40030 


? 48 


?49 


多 「40032 


^50 


? 51 


5^40034 


^52 


? 53 


5「40036 


「54 


^55 


ま 「40038 


? 56 


「57 




? 58 


? 59 


^^40030 


^60 


561 


が 棚 35 


?62 


? 63 


5^40040 


? 64 


「65 


ま 「40042 


? 66 


1 3 67 




? 68 


? 69 


多 「40046 


? 10 









—ひ— し ^ IV! ^4 

06001^ の パタン 配置の 実際 

本文 中で は, パタンの 実際の 酉 己 置が どうな つてい るかに ついては 触れなかった ので, ここ 
で 補足して おきます。 なお, この フォントの 配置 は 筆者が 個人的に 調べた だけです ので, 将 
来に わたって 変更され ない 1 呆証は あ り ません。 



226 



画面 制御 



公開され ている レター フェースの 値と 実際の じ0 尺 0]V [の 内容から, 各 フォン トカ ^ 極力め 
ざして いると 思われる パタン 配置 領域と, 実際に パタンカ^ 己 置され ている 領域 を 調べて みた 
の 力 5 ' 図 47 〜図 49 です。 いずれも 上段が レター フェースの 領域, 下段が 実際に パタ ン カズ 配置 さ 
れて I 、る 領域です。 ずいぶん レター フ エース 領域 を はみ出 している こと がわ か る と 思レ 、 ま す。 
よく 調べて みると, アルファべ ッ 卜の 大文字 や 数字な ど は ほとんどが レター フェース 領域の 
中 に 配 II されて いる のです が, 力 々文字 や 記号の 一部な ど カズ レター フ ヱース 領域 を はみ出 し 
ている ようです。 

また, 16X16 ドッ トフ オン ト, 24X24 ドッ トフ オン 卜の レター フェース は それぞれ 15x16, 
24X24 となって います 力、 アルファべ ッ 卜の 大文字 や 数字な ど は 図に 点線で 書いた 15X13 ド 



き 図 …… 47 パタン 使用 領域 (り 



8X8 ドッ ト フォント 



8X16 ドット フォント 



12X12 ドット フォント 























































6: 


(! 


ド': 


'ト 











































































































X 


13 


ド' 


/卜 




































































































































一 
































一 



































































































:!メ 


10 


ト' 


V 1 
















- 1 




























































































































































































































































































































































































































































































































































































































一 

























































































































上段 : レター フ: !:一 ス 領域 
下段 : 実際の パタン 配置 領域 



227 



ッ ト, 20X19 ドッ 卜の 領域に 配置され ている ようです。 密着 配置され た 場合 を 考慮した か, 漢 



參図 …一 48 パタン 使用 領域 ひ) 

12X24 ドット フォント 





― 














































ぺ: 










































リ 






















一 
























































10X18 ドット 








ジへ 














































』 
















































































































































一 
































































































































多 










































~ ! :' 















16X16 ドッ ト フォント 





























































一 
































































































































































I ^ 1 「ソ 「 






















, 


\ 1 


^ 「 


V 「 


ノ 




































































































一 































































一一 1. \ ^ 1. リ'. し: ン:1: 、: に: ':: ヒ; ' :パ-ト - リ-' ト:;:-ょ.,?... 

( 〉 内 は アルファベット 大文字 数字の レタ一 フエ一 ス 



字との バランス をと るた めで はない かと 思われます。 



22^ 



































































































































































































































































― 〈 


未 


'吏) 




賺 お 


2 な 


し 






































〕 一 



































































































































































































































































































































































































































































































































































































































































































































































































































































49 パタン 使用 領域 (ョ) 

24X24 ドット フォント 



〔 〉 内 は アルファベット 大文字, 英数字の レ 夕- 



24 X 24 ド 'ン 卜 
〈20X19 ドッ ト〕 





画面 モード 制御 



X 68000 の 画 面貌 は, (:尺 丁 コントローラ, ビデオ コントローラ, スフ 。ライ トコ ン トロー ラ 
の 協調 (樓で 行われる ため, 画面 モー ドの 設定に 多くの レジスタが 関係して います。 ここで は, 
岡 而 モー ド 設定に 関係す る レジスタ を整现 してお くこと にします。 



1 08 丁 じ 



じ&丁じ の レジスタ のうち, 画面 モードに I 剁 係す るの は^ 00 〜尺 08, および^ 20 です。 この 
う ち 尺 00 〜尺 07 は (: 尺 丁 インタフェースの 基本的な タイ ミ ングの 調整 を 行う レジスタ, 尺 20 
は 色 モー ド など V 尺ム] VI の 構成の 切 り 替えな ど を 行う レジスタです。 



01 タイミング 制御 用 レジスタ 



尺 00 〜尺 08 の 配置 は 図 50 のように なって います。 
^ 図 …… 50 じ?; 丁 じ (刚!)〜?^^) 





關 


^80000 






蛇 80002 


水平 タイミング 制御 








ほ02 


^80004 




803 


1^80006 




^04 


お 80008 






お 8000 八 


垂直 タイミング 制御 








議 


^80000 






^8000^ 


水平 位置 微調整 


圖 


お 80010 





水平 トータル 'ド 




水平 同期 終了 位置 




水平 表示 開始 位置 




水平 表示 終了 位置 




垂直 トータル 




垂直 同期 終了 位置 




垂直 表示 開始 位置 




垂直 表示 終了 位置 




外部 同期 水平 アジャスト 



: 水平 トータル 値 はつねに 奇数 (最下位 ビッ ト : 



にす る こと 



230 



画面 制御 



これらの レジスタ では, (:!^丁じ に 与える 同期信号 や, 画面の 表示 期間な どの タイ ミン グの調 
整 を 行います。 X 68000 の じ1 ^下 ィ ン タフ ヱ ースの 標準 的な タイ ミ ング と' 各 画面 モー ド での 
1^00 〜!? 08 の 設定 値 を 図 51 に, 各 タイミング 名と 信号';)^ との^ 係 を 232 ページの 図 52 に 
示します。 この レジスタ の 設定 1 直の 計算 方法 は 233 ページの 図 53 のように なって います。 ただ 
し, & 00 に は 必ず 奇数 (最下位 ビット を' 1 'にす る) の 値 を 設定す るよう にして ください。 



02 



08 丁 820 



(:尺丁じ の& 20 のビッ ト酉己 置 を 233 ページの 図 54 に 示します。 この レジスタの 上位 バイ ト 
で 実 画面 サイズと 色 モード を, 下位 バイトで 水平 偏向 周波数 (高 解像度 モード か, 標準 解像度 
モード 力、) と^ 画面の 垂直, 水平 ドット 数の 設定 を 行います。 このうち, 上位 バイトの ビッ 
ト 8, 9, 10 は ビデオ コントローラの 尺 の 下位 3 ビッ トと 同じ 値 を 設定す るよう にして くだ 

さい。 



51 (: 卩丁 イン タフ ヱ一 スの 基本 タイ ミン グと じ?! 丁 (; の 標準 設定 値 



タイ ミ ング 


高 解像度 


標準 解像度 


同期 周波数 


水平 


31 ,5ぱ2 


15.98^2 


垂直 


55.461-12 


61 .461-12 


データ 表示 期間 
い 、 


水平 


22 舞 3 


52.69/^5 


垂直 


16.25^15 


15.0191715 


同期 期間 


水平 


31.75//5 


62.58/75 


垂直 


18.03^15 


16.270015 


同 期パ ル ス 幅 


水平 


3.45/^3 


3.30 お 3 


垂直 


0.191 [! 15 


0.1871115 


ノ く ッ ク ポーチ 
(り 


水平 


4.14 パ 5 


4.94^5 


垂直 


1 [! 15 


0.876^5 


フロント ポーチ 
い) 


水平 


2.07〃 5 


1 ,65〃5 


垂直 


0.476^5 


0.187^15 



231 



レジスタ 


画面 モー ド (高 解像度) 


画面 モ— ド (標準 解像度) 




に' しつ 
ソ 卜 レス 


7に0 V に 1 つ 


5 I ビス! 3 I ビ 


[: 1 V にご 

5 1 ビス ど! 30 


111^ V ク に 


5 I ビス! 3 I ど 


I: 1 ^ ゥ [;に 
5 1 ビス ^00 


ゥ; V 

ど 50 ん ^100 


請 


2 圧 80000 


589 

1 つ 7、 


I 31 ; 


558 

1 01 、 

1 31 ; 


520 


348 
1 マ [;ス 


548 

1 フ [;、 


525 

\ ふ 1 》 


只 01 


5 已 80002 


5 に 


309 


309 


504 

《 力、 


503 

\ め 


503 


501 

V 1 ゾ 


^02 


5 & 80004 


510 


511 

1 ^, ヽ 


311 

1 口、 

1 1 !) 


506 

\ 0; 


805 

\ 0; 


505 


500 
1 じリ 


^ 03 


5^80006 


370 


^51 

广 01 、 


351 

1 8 り 


826 

1 つ ス 


545 

1 に0、 


^45 


520 

1 っク、 


^04 


5^80008 


3237 


8237 
に 567 ク 


5237 
ゅ& 7ク 


5237 
ゆ 67; 


5103 


3103 
ひら" 


3103 
(巧" 


6 05 




305 


305 

\ 5 リ 


505 

【 り 
、 5」 


505 

【 ^\ 


502 

1 0、 

、 ビリ 


502 

\ くリ 


502 

\ 乙) 


06 


5^80000 


328 
〈 40 


828 
〔 40 


828 
〈 40 


528 
〔 40 


510 
〔 165 


310 

〈 化) 


510 

〈 ば) 




ま 巳 80005 


3228 
ほ?) 


5228 
脚) 


8228 


3228 
は?) 


5100 


3100 
はら) 


3100 


請 


3 に 80010 


8113 
〈 275 


518 
〈 27〉 


518 

〔 27〉 


516 

〈 ひ) 


3 20 
〈 4め 


320 
〔 445 


324 
〈 365 



〈 〉 内 は 10 進数 

図 一… 52 0?!7 への 信号 
映像信号 1 









(!) 








(ら) 


。》 




い) 

















映像信号 : !). 7 V 『0(7513 終端) 正 極性 
同期信号 : 丁丁し レベル 負極 性 



画面 制御 



き 図 …… 53 0^70 500 〜!^ 17 の 設定 値の 算出 法 

「〜。。ー ゾ7 に 平 同期 期間 ぅ乂ぐ 水平 表示 ドッ ト数) 1 

1 8 。」 —(デ 一タ 表示 期間 ^8 

「し.,。 〖7 に 平 同期 パルス 幅 ゥズ纟 水平 表示 ドット 数) , 

び リリ一 ^^表示 期間 5X8 

《7^ 平 同期 パルス 幅 ラ+ぐ 水 平 バック ポーチ》 乂〈 水平 表示 ドッ ト数) 5 
は 02 」 2 〈 データ 表示 期間 〉 X 8 



〔803〕: 
〔請〕 



《 水平 同期 期間 〉 十 〔 水 平 フ 口 ン ト ポーチ》 X (水平 表示 ド ッ ト 数) ― 5 
—(データ 表示 期間 〉乂8 

(垂直 同期 期 , 
、 水平 同期 期間) 



「。。 ひ (垂直 同期 パ ルス 幅) , 
1 ドリし」 一^平 同期 期間) 

「 ば、 (垂直 同期 パル ス 幅 )+ ( 垂直 バック ポーチ) , 
びリ &」一 て 水平 同期 期間) 

「 。 071 (垂直 同期 期 間) 一 (垂直 フロント ポーチ) ; 
し" リ り 一て 水平 同期 期間) 



き 図 …... 54 09.70 柳ほ^咖) 



16 色 モード 
256 色 モード 
未疋義 
65536 色 モード 



実 画面 51 2 X 512 ドット モード 
実 画面 1024X1024 ドット モード 1 



水平 偏向 周波数 15.981^2 
1 II 31.5 ぱ2 



垂直 256 ドッ ト 
1 垂直 512 ドッ ト 
未定義 
1 未定義 



水平 256 ドッ ト 
1 II 512 II 
未定義 
1 水平 768 ドット 





512 


00 し 




化 


ゾ0 


1-10 



ビデ 才コン ト ローラの 

尺 0〈 アドレス: ビ 824004〕 
の 下位 3 ビット を 同一 
にす る こと 



233 



0*2 



ビデオ コントローラ 



ビデオ コントローラの レジスタ のうち 画面 モード に 関係す るの は 尺 です。 レジスタの ビ ッ 
ト 配置 を 図 55 に 示します。 尺 の 下位 3 ビッ ト は, 画 面の 実 画面 モー ドゃ色 モー ドの 選択 を 行 
います。 この 設定 値 は, 01 丁 (: の 只 20 の ビット 8, 9, 10 の 3 ビットと 同じ 値になります。 

參図 …… 55 ビデオ コントローラ^ 1(5 匚 "^(!) 



16 色 モード 
256 色 モード 1 
未定義 1 
65536 色 モード 1 1 

実 画面 512 X 512 ドッ ト モード 
実 画面 1024X1024 ドット モード 1 




00 し 



08 了 (: の 820 
(アドレス: 求ビ 80028 〉 
の ビット 8—10 を 同 
一とす る こと 



未 
定 
義 







3 ス プライ ト コントローラ 



ス プライ ト コント ローラで は, 画 而 モー ドに 応じた 設定 を 画面 モー ド レジスタに 行います。 

固 面 モード レジスタ は 4 本の 16 ビッ ト 長の レジスタから なって おり, それぞれの ビッ ト 配置 
は 図 56 のように なって います。 これらの うち, ョ- 丁 丁 八し^ 28080 八 番地), 11-1)155(528 
0800 番地), 乂- 015? ^220802 番地) の 設定の 標準 値 は 236 ぺー ジの図 57 のように なって 
います。 そ れぞれ の 設定 値の 計算 法 は 次の ようになって います。 

^1- 丁 丁^し 

低 解像度の 256乂 256 ド ット モー ドの と き だけ (:尺 丁 じ の!? 00 と 同 じ 値 を, それ 以外の と き 



234 



画面 制御 



》 図 …… 56 ス プライ ト コント ローラ 画面 モー ド レジスタ (ぁ 巳 8080 八〜 ^ ビ 别れド) 



3^8080^ 




86 スクロール 
レジスタ 


80 


[巳 顯 
刚 808 




80 1 




0(5 コント 口一 ル 




画面 モー ド レジスタ 


巳 80 纖 

1 

巳 8 0810 


: :1 



4- 丁 丁 八し , 



匕 



^80800 



《巳 8080 己 



| ョ 0810 



V - 0155 





し 川 

什 60 


V 865 


1-1 只 65 



水平 同期 周波数 15.98^1 :0 
31.5^82 :1 



垂直 256 ライン モード :0 
〃 512 II :0 1 

未定義 \ 1 1 



水平 256 ドット モード :0 

〃 512 〃 :0 1 
~ 1 



未定ね 



氺4- 丁 丁/ \ しの 最下位 ビッ ト (ビッ ト り) は 必ず リ 'にす る こと 



1 



1 



に は 3 ド? 1 を 設定し ます。 この レジスタへの 設定 値-も 尺 00 と 同 ネ藥, 必ず 奇数 (最下 11: ビットが 

つねに'];) に 1 



235 



図 …… 57 スプ ライト コントローラ 画面 モード レジスタの 標準 設定 値 



画面 モー ド レジスタ 


高 解像度 モ一 ド 


標準 解像度 モー ド 


名称 


アドレス 


512X512 


512X256 


256X256 


512X512 


512X256 


256X256 


ト 丽し 


お 8080 八 


5ドド 
(脚 


尜厂厂 
〔255〉 


軒 
〔255〉 


〔肝 
〔255〕 


軒 
卿) 


525 


豳 蒙 


8 & 80800 


515 

〔 20 


515 
〔 20 


恤 
〈 10 


209 

〔 95 


509 

^ 95 


804 
〈 4〕 




8 匚 8080 日 


328 
〈 40〕 


528 
〈 40 


328 
〈 40 


お 

〈 化) 


310 
〈 16〉 


310 

は) 




3 巳 60810 


515 

〈 20 


511 

〔 口) 


310 
〈 165 


505 

^ 55 


501 
ぐ り 


ぐ 0〉 


86 面の 数 


1 


1 


2 


1 


1 


2 



I 〉 内 は 10 進数 

0^X0 の レジスタ!? 02 の 設定 値に 4 を 足 した 値 を 設定 します。 

!] ソ-015 卩 

0^X0 の レジスタ 尺 06 と 同 じ 値 を 設定 します。 

ま た, 8280810 番地の レジスタに は (:尺 丁 じ の レジスタ^ 20 の 下位 8 ビット (ビ ッ ト 
〜ァ) と 同じ 値 を 設定して ください。 







4 設定 上の 注意 



01^X0 な どへの 設定で は, I 、 く つか 注意が 必要な 点が あ り ま すので, こ こ で 補足 してお きま 



す。 



0*0〗 08 丁 への 設定 時の 注意 



0^X0 の レジスタ!? 00 〜尺 07, 尺 20 の 設定 を 行う 場合に は, 次の よ う な 順序で 設定 を 行 - 
てくだ さい。 



画面 制御 



, 高い 表示 モー ド から 低い 8^ モー ドに 変更す る 場合 

尺 20 ― 尺 01 ― & 02 ― 尺 03 ― 尺 04 ― 尺 05 ― I? 06 ― 尺 07 ― 尺 00 
~ 低い 表示 モー ド から 高い 表示 モー ドに 変更す る 場合 
^ 00 ― 尺 01 ― 尺 02 ― 尺 03 ― II 04 ― & 05 ― 尺 06 ― 尺 07 ― II 20 
画面 モー ドの顺 序 は, & 20 の ビット 4 , 1 , の 3 ビット で 判断され 高い 順に 並べる と, 
次の ような 順序になります。 

768X512 ドット (高 解像度 モード) 

512X512/512X256 (高 解像度 モード) 

512X512/512X256 (標準 解像度 モード) 

256X256 (標準 解像度 モード) 



02 画像 取り込み 時の 08 丁 じ への 設定 

画像 取 リ 込み 時には, (: 尺 丁 じ の 尺 08 を 次の 値に 変更 します。 

霧 512X512/512X256 ドツ トモ 一 ド時 …… お 9 八 
, 256X256 ドッ トモ 一 ド時 3^8 



03 スプ ライト 画面 モード レジスタ 設定 時の 注意 

ス プライ ト コント ローラの 阿而 モー ド レジスタの 只- 丁 丁 八し レジスタ ^28080 炎 番地) 
に 5?? 以外の 値 を 設定す る と き (標準 解像度の 256ズ 256 ド ット モー ド に するとき) に は ト 1- 
015? レジスタの 設定 後, 130 たつてから 行って ください。 



4 スプ ライト 8 八! VI アクセスの 注意 

電源 投入 後, スプ ライト V ^八] VI (?じ。 エリア, 8〇 データ エリア) の アクセス 時 は, 8(2 
コントロール レジスタ ^280808 番地) の ビット 10 を' 'に 設定した 後に 行って ください。 



237 



6 



サン フひレ プログラム 



(:尺丁じ や ビデオ コン ト ローラの 操作な ど を 行う サンプル を いくつか つく つてみ ま したので 
参考に してく ださい。 



@ 1 テキスト 画面 スクロール (じ】.。) 



テキス ト画而 を 上下, 左右に スクロール します。 わざと 球而 スクロール のように 励 かしてい 
ます。 はみ出した とき の I が 乍 も 見て おいてく ださい。 



リスト …… 1 テキスト 画面 スクロール 

〃 

水 テキスト 画面 スクロール サンプル 

ネ (横 方向に はみ出して しまった とき の 動作 も 確認 して く だ さい) 
ホ 

^ X。 では 乂01;1パ16 がサ ポー 卜されて いないため、 

# 次の 1 行 を 入れて 乂〇131116 を 無効に して く ださい 

ホ #36 で 1116 ソ。134116 
#1110111(16 は0311ヒ ね 

#^1116 0?^013? 0x10 

乂0131116 31)011: 承 (;!^!:— 『10 ; 
乂0131:116 3 1101-1: ^110^11; 
乂〇131:116 01131 ^^1?; 

乂0111 361^X^03(1111 印0リ ; 
乂ひ" 361 ーゲ 1)03(1111; 乂?03 リ; 

乂0丄 づ 讲311;ー 乂^丄^!^乂ひ丄は) ; 



111 & 



1 は 1, 2 ; 

〔81101^ り。ま 一で 10- 0x680014; 
ぉ!^ !" I りびれ— 『II: 0x680016; 



238 



画面 制御 



(凸 訂 キ)^^ : 0x688001; 

5^28(0 ; 

! 01- 〈1=0; 1 く 腿; 

56セー ゲジ 05 (!) ; 

^01 ひ:0; 1 く 腿; 

36し X 口 05 リ) ; 

^01 〈1=1020; 1)^0; レニ む 

56し ゲロ05 ひ) ; 

! 01 01020; 1〉:0; ト 

36し X 口 03 〈1〉 ; 
6X11(0〉 ; 



乂01づ 361;ー X ひ (^(乂^^〉 

1111: ズジひョ; 



V01(1 ゲ ひ 05〈 ゲ 1305〉 
1111 ^?05; 

^31 1^(11 3^)0 ; 

氺0 で 10—1^11 二 ^03 ; 

ソ。" ^311^^18^0 

^116(1 (^!? & 0? 一 マ脇?)) 

ま" ひ 翁 & ^^015?〉 



@2 グラフィック 画面 4 方向 スクロール (。ぇじ) 



512X512X16 色 X 4 プレーンの モ一 ドで, 各 幽面を 独立して ス クロ— ル させて います。 



239 



'リスト 一… 1 グラフィック 画面 スクロール 

〃 

キ グラフィック 画面の 4 面 独立 スクロール サンプル 
水 

ホ (画面の 上下に はみ出した とき の 動作 も 見て くださ レ つ 
ホ 

キ X。 では 乂0131116 がサ ポー 卜されて いないため、 
キ 次の 1 行 を 入れて 乂〇131116 を 無効に してく ださい 

丰 #^6:1^116 乂0131;116 

#1110111(16 538100. ヒ 
#1110111(16 ^!^. \\ 

#^1116 0?^013? 0x10 

ソ01さ1116 31101 1 1 ^0X10^X20; 

、(^(! 561^1101116(1111 卩 3〇6, 1111: X, 1111 ゲ); 
ゾ。" ^613 乂 (乂!^ ヒ) ; 

乂。" 〜311:ー 乂^丄巳!^乂。^^) ; 
? 01^ 10 & 1れ0 
1111 1 ; 

(曲。]^ り。"。— 0x680018; 
(。お で ゆ ^ 0x688001; 

301:6611^1111 10 ; 

5 龍 (!)) ; 

! 01 〔1=0; 1 く 512; | 

おし ぉ!!^ゅ, 511- し 511—1〉 ; 

361—1101116(1, 1. 511—0 ; 
361—1101116(2, 511 - 1, ; 
861-1101116(3, 1,1;; 

^01 〈1=511; 1〉:0; 1— ― 〉 | 

56 し 1101116(0, 511 -し 511—0 ; 
561—1101116 (丄, 1, 511—0 ; 
361—1101116 ひ, 511 - 1, !) ; 
1101116 〈3, 1,1;; 



240 



101 0=0; 1 く 4; 

361^1101116 11. 0, ; 
6X11(0 ; 



、(^(! 3611—1101116 (ロささら X, ゲ) 
1ひ1 ん ^ ; 

バ。"。 一]: 20十2ネ 口 386〉 : X; 
ホ (び 【しで 20+2 ^^せ^ : V; 



乂0化 361 3 乂 
101 1 ; 

? 01(1=0; 1 く 10000; 



乂!^ 30166^11111: 
101 1 ; 

5(^660(1, 1. 1. !) ; 



3I)286(0) ; 

お I 0=0; 1 く 256; 1++〉 

11x16(1,0,0, 1. は 16. '隐 5 じ); 
^01 〈1=0; 1 く 256; ほ十) 

11116(256, 1,1,256, 1ぉ6, '贴 51リ: 



ほ卿己ひ) ; 

! 01 0=0; 1 く 256; !+十) 

11116(511 - 1,0,511,1, は16, '腸 1リ; 
お I 0=0; 1 く 256: 

11I16(256, 1. 511-1. 256 1 は 16,1 八"'); 



さゅが② ; 

お I 0=256; 1 く 512; !+十) 

1106(0, 1. 256 1 1, は 16ノ^51っ; 



柳がひ) ; 

! 01 0=256; 1 く 512; !+十) 

^^(!, 256,1,511,^16/^51 

さぉが⑨ ; 



、(^(! ^31 1^(11 313 

^1116(1 (^?!? & !)?^^?)) 
11111 6 (^!? & (??— 乂難) 



ラスタ コ匕一 機能に よる テキスト 画面 

スクロール 〈03.0 



ラスタ コ ピー 機能 を 使って, テキス ト蹈 面の 上下 スクロール を 実現して みま した。 カーソル 
移動 キー を 操作す る と 画面が 上下し ます。 終了す る とき は (: 丁^し 十 じ を 人力 して く ださい。 

拿 リス ト …一 3 ラスタ コピー 機能に よる テキス ト 画面 スクロール 

I、 

ホ ラスタ コピー 機能 サンプル (テキスト 画面 スクロール) 
水 

ネ 力一 ソル 上下 キーで、 画面が 上下し、 は1? し で 終了し ます。 
ネ 

^ X。 では 乂013パ16 がサ ポー 卜されて いないため、 
ネ 次の 1 行 を 入れて 乂01; 16 を 無効に してく ださい 
# 1(16^1116 ソ〇131;116 

#1110111(16 538100. II 
#1110111(16 ^081 15. ヒ 

乂013リ16 311011 化 ま— 『21; 
乂013で116 5 11011 氺 じで 1:0—1^2 ; 
乂0131116 81101 1 1; ^011: 0^1110(16; 



3 



242 



画面 制御 



01131- 1^31:61: 一 301011 0^01(0 ; 

乂〇1ヒ 1331:61^00^ 1,1^1 51^, 1111 ; 

ゾ。" ぬ"— ヒ^雾〜。") ; 

701(1 5131*1; 一: 1:381:61ー 00ジ ゲ (乂ひ丄^) ; 

乂。^ 8 100 1*331:61^001)7 ^!^) ; 



ソ01^ 0131 110 
1111: 1 ; 

5 011 1^1(1^, 1-22(^31; 

ま : (き ^0x688001 ; 

0110.121 : (趣で 幻0ズ680023; 

0110,1*22 : (ミま 400x680020; 

0110^0(16 : ぉヒ。" 勾0ズ680480; 

じ 一 01)80?? 0; 
^?^卬); 

121(181 : れま— で21; 
122(131 : ^011:0.1-22; 



ま^ほま し 5 ぴ 011 !ニ 0x3〉 

^10^21 : 121(131; 
^011:0.122 二 1-22(131; 

6x11(0 ; 



011 & I 1^31; 61^—3(^0 11 

ぉ6 ゲじ 111^8〕 ; 
1)^.1111(6^0 (化 6 ゲ ゎひで) ; 

け (お ゆ II ぞ 〔0〕 二 : 0x155 | 

5.111^670 (^!)^) ; 
1x11 0(671)11? [(!]) I 
0^36 0x55: 『011— 叩 ; 
516 & 1(1 

0^56 0x43: 101 1.(10 VII ; 



243 



ヒ]: 63ヒ; 



161:11111(1(6^511^01 〉 ; 



叩 



1 ; 

1*331: 61 "—じ 013^(0, 128〉 ; 

? 01 (ほ 1 く 123; 

1:33161^ 00ジ ゲ 〈1+1, !) ; 
1351;61 ①ロゲひが, 123〉 ; 



1111 1 ; 

1: 33 1: 6 1^00 が ひ23, 128〉 ; 
化『 =123; 1)0; !—) 

『3 ま]:— 00ロ バ 128, 0〉 ; 



乂01廿 !^ね!:—。。!) バ ^, ^81; 
1111 51^, ^81 ; 



631 も: 0X^1 
310 お 0X^1 
^31 1^5^1)0 ; 

^0X1^21 = 0x3; 

^01:1:0^122 : 《 8〉 | ^81; 

3 13^ 3 1:61*^00^0 ; 



101 1^0^1)0 



244 



画面 制御 



^0110^\06 & |ニ 0x8; 



乂ひ" 1^5で61^ 00ジ ゲ 
氺 (;!^匚— 1110(16 & 二 0x7; 



V0^6 ^11: 一 11 一 3 卿 
1111 ^1; ; 

^116(0=8 が? & 0x80 0x0 
VIII ^((^!? & 0x80 ^ 0x80 



4 グラフィック 画面の 高速 ク リア に 4.0 



256X256 ドッ ト モードで グラフ ィ ック 画面の 高速 ク リア 機能 を 使って みました。 カーソル 
移動 キーで 画面 を 動か して ク リア さ れ ている のが, 実 画面の 一部 だけで あ る こと を 確認して く 
ださい。 

參 リスト …… 4 グラフィック 画面の 高速 ク リア 



产 

ネ グラフィック 高速 ク リア 機能 サ 
ホ 

I 256 X 256 ド ット モー ド 時での 高速 ク リ ァ です。 
^ 力一 ソル 移動 キーで 画面 を スクロール させて 
ホ どの ェ リ ァがク リ ァ されて いるか 確認で きます ^ 
ホ 

^ X。 では ソ01^116 がサ ポー 卜されて いないため、 
氺 次の 1 行 を 入れて 乂01 "に 6 を 無効に してく ださい 

氺 #ヒ6 で 1丌6 乂0131116 

V 

#1:^111(16 "! 33314 11 



245 



乂0131:116 


31101*1 






811011 


10^1110(16; 






お? 1 に 




31101*1: 


お IX ―]: 12; 




811011: 


ネぱ れ— で 13; 



31101-1: 1-21(131; 
1111: X, ? 08^; 

乂。" 1111 1 〜。丄は) ; 
(:!^で ほ— "(^《(乂ひ丄^) ; 

"!^ひゅ, 0, 1, !) ; 

VI: 柳 : ひま ^0x000000; 







承) 0x688001; 




ズ21 ^ 


"お は 


^00x6800^; 




― 1110(16 = 


^。!"!: 


ネま680480; 








400x680018; 








キ) 0X680013; 


1305— X ~ 1305— 


ゲ 二 0; 






ば ("歸 


3^66(1 


016^ ? 631 :^" 〉 



が?^ひ) ; 

1-21(131; : れま 一 で21; 

1^110 ; 

に。 1で0; 

ま 16 (さ— 111(^6 ! 二 3〉 

ホぴ ヒ— 『21 : 1:21(131;; 
6x11(0〉 ; 

、(^(! 1011 
1^1 1 ; 

51101:1; 001 ; 

? 01 (!^; 1 く 1024*1024; !+十) 

氺ソ 3111++ 二 001++ ; 



246 



ソ。" 11.01 1:0 



^でヒ ゾ 21 : 0x1; 

+ 10^0(^6 二 0x2 ; 
^31 1^^5^110 ; 



乂ひ丄^ 乂.— 3 ゲ 1^0 

ま116ひ ま 口 & 0x40〉 
吡 卩バ!ひ卯丄 口 & !^。)) 



ぁ!" 8』0化0 



5^1111(670 〈1(6 ゲ 1311:0 ; 

は (おゆ ぱ 〔0〕 二 0x8】 

^10^12 二 口 03ー 乂+十; 
1? (化がじ ぽ 【0〕 ^ 0x1 ヒ) I 

I 她 6 ゲ (^!)^) ; 

3〜 11x11 0(6 ゲ 1x1 で 〔I !]) I 

0386 0x53: ^10^12 二 ?03ー X —一 

0356 0x55 : ^0110^1^13 二 ロ〇5ー ゲ 十十 
1)1*6 ま 

0^56 0x43: ^0^10^113 二 03^ 一一 
^6^1111;: 5163^; 



1*61:11171 (!^ ゲ !) はで [(!]) ; 



5 



65536 色 モードでの 4 プレーン 独立 
スクロール 〔05.0 



グラフ ィ ッ ク 画面の スクロール レジスタ を 独立して 制御して みる と, 65536 色 モー ドで 4 プ 
レ ーンが 独立 して スクロール できる ことが わかります。 メーカ で 動作 を 保証 している 使レ 、方で 
はありません ので, あくまでも 参考と いう ことにして ください。 

攀 リス ト 一... 5 65536 色 モー ド での 4 プレーン 独立 スクロール 

ト 

ネ 65536 色 モードでの 4 プレーン 独立 スクロール (参考) 
ネ 

ネ X。 では ン0131116 がサ ポー ト されて いないため、 
ネ 次の 1 行 を 入れて 乂013ひ16 を 無効に してく ださい 
ホ 9(161106 乂0131116 

^11:0111(16 535100. 11 

#111(1111(16 8 で 3;3ヒ 1 !'' 

乂。^ 11131110 ; 
ソ。^ 1111 1;^3016611 ; 
乂。!!^ 1110乂6ー 31:::6611 ; 
乂013 3613 ゲ ; 



乂0131116 


1111812116(1 


511011; 


^0 : 


^1111818116(1 




^0x680018 




1111312116(1 


51101^ 


む 二 




81101*1 


幻 0x680013 


乂〇 ヒ" 16 


111131^116(1 


51101*1: 


^1 二 


〈 111181 8116(1 


き" 


400x68001 じ 


乂〇1 さ 1116 


1111312116(1 


3!10 ['し 


^1 二 


^11118 1^116(1 


311011; 


水) 0x680016 




隱 きお 


511011: 


4^2 ^ 


^1111512116(1 


511011: 


り0ズ680020 


乂013セ1 16 


1111312116(1 


311011; 


^2 二 


〔 11118 18116(1 


^。れ 


り 0x680022 




1111315116(1 


5110『1: 


^3 ^ 




511011: 


ネ) 0ぱ80024 


乂〇1311 16 


1111518116^ 


511011 


む 3 二 


〈 11118 18116(1 


3110 れ 


り 0x680026 



701(1 1113111 (^!^, 

11)1 & ; 

0)1 & I 氺 31^乂〔〕 ; 

5 ぱ 66110 ; 



248 



画面 制御 



5 顧 〈0〉; 

1110^—5(^66110 ; 



乂01づ 1111 1.30166110 

111131^6^ 1111 !, ^ 001 ; 

3 じ]: 6611〈 1, 0, 1, 1〉 ; 

^1^07/(0,0, 511, 511)1 
? 01 〈1=0; ^256; ^ I 

001 ^ 1*256; 

! 01 (一; 3 く 256; れ十) 
おは 〈128+3, 128+1, 



乂01廿 1110 V 6^8 01^ 66110 

111151 ま 116(1 1111: 
^01 



〈1=0; 


1く128 


ホ乂0 二 


511-1 


^0 二 


511-1 


ぉ1 : 


511-1 


む 1 二 


1 ; 


承ズ2 二 


1 ; 


^2 : 


511-1 


^3 二 


1 ; 


む 3 二 


1 ; 



1 ; 

づ 61^0, ひ十) 



ゾ。" ^61 3^0 
111151^116(1 

き 0=0; 



1111: 1 ; 

1 く 5000; !+十) 



249 



6 



768X51 2 ドット モードでの 65536 色 表示 



通常, 768X512 ドッ トモ 一 ド では グラフ ィ ッ ク圃而 は 16 色 表示し かで きないので すが, 
じ ^丁じ と ビデオ コントローラ を だまして やる と, 768X512 ドッ 卜の 画面の 中の 512X512 ド 
ッ ト の 領域で 65536 色 表示が で きます。 ド ッ ト の 密度が 高 く , ま た 縦横の ド ッ ト 隔が ほぼ 等 
しくなる ため, たとえば, 512X512 ドッ ト モードで は 縦 100 ドッ ト, 横 100 ドッ トの 四角形が 
横長の 長方形に なって しまった のが, この モードで は 正方形と して 表示され ます。 この モード 
も, メーカで 動作 を 保証して いるもので はあり ません ので あく まで も 参考と してお いてく ださ 



'リスト …一 6 768 X 512 ドット モードでの 65536 色 表示 



卢 



^ 7 6 8 X 5 1 2 ドットでの 6 5 5 3 6 色 表示 (参考) 



ホ X じ では ン0131116 が サボ一 卜されて いないため、 
^ 次の 1 行 を 入れて 乂01311 1 6 を 無効に して く だ さい 

^ #^6^1116 乂0131116 

#1110111(16 31(110.11 
#10011X16 "(! 031 1 ヒ. II 



き31^ *^I'^^I'20 

匕 5 1 V; 

: (曲。" ^0x000000 
"。れ ^0ズ 6 80028 

& 11011 ^ 0x682400 
(きで ^ 0X682000 



ー!:丄, 4=1)316 は 6; 



511011; 
1111 1. 
VI & 111 
01-101-20 

乂び1 

13316116 

画 8(0】 ; 
ぱ化加ひ, 0, I ; 
れでれ で 20ヱ 0x0316; 

^011 二 3; 

おで (^(^(^(^; 1 く :0乂10000; !+^乂。?。" 

印3161;1:6十十 二 1 ; 
^^ぉ+十 : 1 ; 



/ネ 0^13!11 31211; ^^1633 V 

/ネ 01?70 820 V 

/キ ^360 00111101161 81 ホ/ 
/1 ? 316116 86815461 V 



101- 01 : 0; ヒく 192; ヒ+十) 



250 



画面 制御 



で 0『 〈V 二 0; V く 32; 乂+十) 

? 01 〈3 : 0; 3 ぐ 32; 3+^0 
氺乂で31!1十十 二 1^(11, 5 1 V〉 



グラフィック 画面 2 面と テキスト 画面の 
半透明 動作 (ソヌ.。) 



グラフ ィ ック 2 画面と テキス ト 画面の 複合 半透明 動作です。 なぜか 乂- などで は サボ 
一 ト されて いない 半透明 機能です 力、 なかなか おもしろい 効果 か 得られます ので, もう 少し 見 

直しても よ I 、ので はない かと 思 I 、 ま す。 

肇 リスト …… 1 グラフィック 2 画面と テキスト 画面の 複合 半透明 動作 



/ホ 

ネ グラフィック 2 面と テキスト 画面の 複合 半透明 機能 サ ン プル 
ネ 

ホ X。 では 乂013^16 がサ ポー 卜されて いないため、 
ホ 次の 1 行 を 入れて ン013パ16 を 無効に してく ださい 

#1110111(16 "! ヒ 
#1:^1 ひ ^6 81^1^.0 

#^106 (!誦 0x1800 
#36 で 106 850 0x0700 
^11\6 81112 0x0036 
耐 1116 1 訂照 3 0x0001 

ソ013 1れ11;』3161;1;60 ; 

11^518116(1 511011; : 
乂0131116 1111318116(1 811011 
乂〇131116 111131806(1 5 1)01-1 
11131110 
I 

501^611(1, 2, 1, !) ; 

10(^16(20, 10; 



251 



7 



〔1111318116(1 311011: ^ 0X682000; 
ネ乂1ヒ60ー 『1 二 〈11113181^(1 311011; キ) 0x682500: 
^1(160 12 二 (リ!^丄^!^^ 511011 ネ) 0x682600; 



赕 1 ま ("(^ 十 082 十 16X1; 請 1006 化"); 

21)386 (0) ; 

バ 11(110, 110. 綱, 風 2〉 ; 
む 11(128, 128. 384 1 384 1 3〕 ; 

3I)386(1) ; 

む 11(100, 100, 255, 255, 7〉; 
5 體 ぐ。) ; 

111 11^31 6^6 ; 

^^60ー 『1 : ひぃ北。」〗 & 0x^0 | 0x2400; 
^1(160.12 : ひ ソ1|^0 ―!" 2 & (^'ぴ) | 0x1 ぞ 00; 



乂0化 1111 1^3161160 
101 1 ; 

1111518116(1 511011 ホロ; 

? 二 8 リ 31 ; 

? 01 0=0; 1 く 0x100; 

印+十 二 0; 
ぉロ31十十 : 0; 

: 画; 

お 口 31++ : 350; 

お 口 : 811)2 | 850; 
#8鋒十 : 61 ?醒; 

お 1531++ : 6 画 | 隱; 

#8。ま : 086^1 職 
ぉリ31十十 : 腿 | 820 | 漏; 



8 8(3 面画 設定 & スクロール 〈51.0 



?じ0 登 I 录と 80 画面の 設定, スクロール など を 行って みました。 
(リスト …… 8 8(3 画面 設定 & スクロール 



I、 

ネ 86 画面!^ & スクロール サンプル 
ホ 



252 



画面 制御 



ネ X。 では 二 0131116 がサ ポー 卜されて いないため、 
ホ 次の 1 行 を 入れて 乂0131;06 を 無効に して く ださい 
# #^6^1116 乂013|;116 

#1110111(16 'ヒ 331|:0,11 

乂。1 16 110518116(1 5&011; 

マ0131116 110518^16(1 31101 - !; 

\?。131:116 110318116(1 311011; 

乂0131116 110318^16(1 311011; 

70131116 1111512116(3 511011: 

乂0131116 1111818116(1 3 11011; 

乂013ヒ16 110818116(1 511011 

乂〇131116 1111518116(1 311011; 

乂0131;116 1111518116(1 511011 

ソ01づ 11131 110 

11113181:6(1 101 1. 』 
5016611 (!, 3 1 1. 丄) ; 

5^8(0 ; 
*585^I1x0 二 ; 
ホ&さョじ で 1 ゲ ^ 0; 
^1(16013 |: 0x40; 
^1(16012 : ひいお。 !" 2 & 。バぞ) | 0x1200; 
? 01 (ほ 〖く 0x10; ひ十) 

*^^6\.^6++ = ((! & 1)70x36: 05 | ((! & 之)?!^?^:。) | 
((! & 4)70x^800:0 I ((! &" 8)71:0; 

で 01 0=0; 1 く 0x80; 8133011 や: 4, 

*5I)5^I1 二 ; 
^01 0=0; 1 く 0x10; 

: 0x1111; 
! 01 1 く 0x10; 1++〉 

ゅび+十 : 0x2222; 
? 01 〔1=0; 1 く 0x10; 

: 0x4444; 
で で 0=0; ^0x10; !+十) 

ゅま : 0x8888; 
^01 (ほ バ 4; れ十) 

^01 〈1=0; 1 く 0x10; ひ十) 
二 0; 



*1^85^I1^0= (ひ!!^^さ!!。!^ 

!" 1 二 11111518116(1 

ネ!^!^ズ!; 二 ( 11 1131806(1 

二 1,1111318116(1 

*3I)3^I'1 二 ^11051806(1 

水乂丄^^ひ!^ 二 ^1111518116(1 

*V 1(1 6012 二 ^110518116(1 
承1331611;6 二 18116(1 



81101-1; ^ 0x0061)0800 
51101-1 キ) 0x0061)0802 
311011; め 0x0061)0808 
31101-1; ホ) 0x0061^000 
31101-1; ^0x0061)8000 
81101-1 ホ) 0x0061)0006 
511011; り 0x00682600 
51101-1; り 0x00682500 
511011; 400x00682220 



253 



化が な 1 : 0x201; 

! 01 11=0; 1 く 0x800; !+十) 

化8^ け 十 : 0x0100; 
101 0=0; 1 く 0x800; ひ十) 

杓がぽ け や : 0x0101; 
お I 〈1=0; "羅; I 

氺ゎが! :!" 1x0 二 1 ; 

き 0=0; 〗 く 5000; さ+十) 



? 01 (い。; 1 く 1024; I 
化ぉ; ;!" 1ゲ0 : 1; 
? 01 00; 〗 く 5000; れ十) 



は^ひ) ; 



^ 0ー し ^ II ― IV! ^ リ 

の アクセス 可能な 期間 



ス ブライ トス クロール レジスタ 

表示 期間 を 含め たす ベて の 期間 において アクセス 可能です。 

じ? II 期 問 は, 1 キャラクタ クロック (り!)) に 一度 粉 割で 5 窗 保して います。 そのため, 最 
悪 1 , 8 00 ほ80 113 または 1440 !^) 程度の ゥヱ イト がか か る こと が あ り ま す。 

^ り0 の 周期 ^ 320 化 (高 解像度) または 800 化 (標準 解像度) 

^ 015^/0^11 ビッ ト (バックス ク ロール コン ト 口一 ルレ ジス 夕 ; 已 808081 "! の 009〉 を' 'に 
設定 すれば, ス プライ トス クロ一 ル レジスタの 時分 割 アクセス を 禁止し, すべての 期間 
を (: ドリに 解放す るた め, 高速な アクセスが 可能になります。 ただし, その 期間, スプラ 
ィ ト, ノ くック グラウン ドと もす ベての 画面 表示が カツ ト されます。 したがって, V 帰 線 期 
間に 入ったら, まず, 013^/(3 「リピット を' '(表示 カット) にした 後, ス プライ トレ ジス 
夕の ァクセ スを 開始 すれば 能率的です。 



き 図 …… 及 じ 卩リ アクセスの タイ ミン グ 



00 



1/2 00 ぃ60 05 ま たは 400 は) 



。ドリ 」 表示 用 ズ (^リ ^ 表示 用ノ 



254 



お』; 川に レ ジス タ を 読み出す 期間 は 以下の と お り です (^時間 と 多少 ずれが あ ります 人 



I 図 一… 日 レジスタ 読み出しの タイミング 

3-4 00 前 (卜 32〃5〕 



1 



1 表示 期間 

ひ2#5 または 51.2 お ョ). 



4 ゆ 前 (卜 3.2 ぉ5〕 

帰 線 期間 | 〔 約 1.8^ または 1.5^。 



― 7 15 まに は 1 



レジスタ 読み出し 期間 



3(1 



2 ライン 前 〔63.5 パ 5 ま たは じ?;^) 2 ライン 前 (お. 5/15 ま たは 122 バ 5〉 



/表示 期間 

ぃ6 15 ま 7 こ は' 







レジスタ 読み出 し 期間 



した 力 5 つて, V 小; お 驟)] 問 でス プライ トス クロール レジスタ を^き 換える 場合 は, 乂- 013? の 
2 ライン 前までに ニ書 き 換える 必要 力 5 ' あ り ます。 

なお, 書' き 換え た スフ 。ラ イト スクロール レジス タの 内容 は, 2 ラ ィ ン 経過 ザ あ 3 ライン 目で 
,が 現れます。 

承 標準 解像度 時, スーパー ィ ン ポーズ モー ド にした 場合, \\ 帰 線 期間の 一部で り0 が 停止 



する ことがある ため, ドリ アクセス がその 期間に ぶっかる と, ゥ. 
あります (最悪 60; ^程度)。 



:ィ 卜が 延びる ことが 



バック グラウン ドス クロール レジスタ, および 画面 モー ド レジスタ 

表示 期間 を 含め たす ベて の 期 問 において アクセス ― 4 能です。 

基本的に じ?1! 用 レジスタと 内部 用 レジスタの 2 段階の レジスタ 構成です。 (:?ひ レジスタ 
と は, じ? I; が アクセス できる レジスタで \ 通常 1 ウェイ ト 以内で アクセス カズ 終了し ます。 (:?リ 
用 レジスタに 書き込まれた 内容 は, 1 水平 期間に 一度, 決まった タイ ミン グで 内部 用 レジスタ 
^云 送さ^ チップ 内部で 有効になります。 した 力 5 つて, じ? リ が レジスタ を! ^ き 換えた からと 
いって, ただちに 有効になる わけで は あ リ ません。 

氺 ただし, 以下の ビット 情報に ついては (:ド リ用 レジス 夕の みで, 2 段階の レジスタ 構成 
をと つてい ないた め, (;ド リ が レジスタ を 書き換えた 直後から チップ 内部で 有効に な り ま 

す。 

, バックグラウンド スクロール レジスタ …… アドレス | ビ 8 0808 。^ド/!:! 3 リビッ ト (。(!ョ) 
, 画面 モー ド レジスタ …… ァ ドレス 求 58 080 4 リ- 丁 丁/ \し ビッ ト (。。マ〜り。!]) 

0?1; 用 レジスタから 内部 用 レジスタ ^4 云 送す る 期間 は, ほぼ 256 ぺー ジの図 (: のとお り で 

す。 

した 力 《 つて, たとえば, バックグラウンド スクロール レジスタ を 1 水平 ライン ごとに 書き 換 
えた 場合 は, 1 ライン 前の 水平 ^^期間 中に 書き換えれば いいわけです (ただし, 只- 015? の 
3〜4 00 前までに 終了す る こと)。 



255 



き 図 …… レジスタ 転送の タイ ミ ング 



-015 ド 



3 — 4 00 前 〔1—3, 23〕 



I 表示 期間 



ズ 転送 期間 



転 あ 期間と (:?リ の 書き込み サイクル カリ;' つかった 場合 は, 。?リ 側に ウェイ トカ 《入ります。 
読み出 し サイ クルな ら ウェイト は 入り ません。 

^ ノ 《ック グラウン ドス ク ロール レジスタ および 画面 モー ド レジスタへの (: ドリ アクセス 
について は, スーパ一 ィ ン ポーズの 影響 を 受けません。 



^0(3 および テキス ト 



^期間 を 含めた すべての 期間に おいて アクセス 可能です。 

。?1! 期 問 は, 2 キャラクタ クロック (り!)) に 一度, 時分 割で 11 筒 # しています。 そのため, 

最悪 2.8 。:) 〈900 115 または 2240 113〉 ^のゥ ヱイ 卜が かかる ことになります。 

氺 013^/(^11 ビット (バックグラウンド コント 口一 ル レジスタ; 已 80808! "!の 09〉 を' 0, 
((^ リ側) に 設定 すれば, 1^6, テキスト 表示 用の 時分 割が 停止し' すべての 期間 を (^リ 
に 解放す るた め, 高速な アクセスが 可能になります。 ただし, その 間, スプ ライト, ノ、' 
ック グラウン ドと もす ベての 画面 表示が カツ 卜 されます。 したがって, V 帰 線 期間に 入つ 
たら, まず, ひジ/^ リピット を' '(表示 カット) にした 後, 1^6 や テキストの アクセス 
を 開始 すれば 能率的です。 



0^0 アクセスの タイ ミンク 



00 



1/2 00 ぃ60 03 ま たは 400055 



びリ I 表示 用 7 表示 用 《 表示 用 ノ 



表示 用に ? 03, テキス ト を 読み出す 期^ は 図 2 のとお り です。 

した 力; つて, V, ^^問 内で? 00, テキスト を 書き換える 場合 は, 乂- 015? の 1 ライン 前 
までに 書き換える 必要が あります。 また, ョ帰! ^腦 1 内で' は, 書き換える 期間 は ほとんど あり 
ません (表示 モードに よります)。 

氺 標準 解像度 時, スーパ一 ィ ン ポーズした 場合, \\ 帰 線 期間 内の一 部で 。0 が 停止す る 二 
とが あるた め, (^リア クセス がその 期間に ぶっかる と, ゥヱ イトが 延びる ことが ありま 

す (最悪 60 パ 5 程度)。 



256 



画面 制御 



レジスタ 読み出しの タイ ミン グ 



ト I 帰 線 期間 



4 表示 期間 



^00 1 75X7 読み出し 期間 ^ 1=00 1 丁已 XI 読み出し 期間 

1 ライン 前 〔31.8 お 5 または 61 〃ミ) 



1 ン前 〔31 お 5 ま たは 61 



V 表示 期間 
(約 ま たは ひ" 5 ) 

? 読み出し 期間 



IV 帰 線 其 



! (約 1.8—5 または 卜ら^^) 



—お 



; または 1-4 [! 15 



257 



層 音源と サン プリ ング ^090^ 音源の 岡 方 を 標準で 搭載 \ 
した X 68000 の サゥン ド 機構 は, 効果音から 音声 出力 ま で を 
幅広 く サ ポー ト しています。 ここ では, X 68000 の サゥン ド 機、 
構に ついて 説明し ます。 



1 



ズ68000 の サウンド 構成 



X 68000 の サウンド 茅恭の ブロック 図 を 260 ページの 図 1 に 示します。 X 68000 は, 音声の 
取り込み や 再生 を 行う 八 0?^1V [音源と, 正弦波 を 基本と して 糸辦に 演算 処理で 音 を 作成す る 
?] VI 音源の 2 つの 音源 用 乙 51 を 内蔵 しています。 

7^0?01^ の 出力 は, バッファ アンプ を 通した 後, 左右に 振り分けられて,?] VI 音源 にの 出力 
と 合成され ます。 振り分けた 後に ある, パ? 8255 の 出力と 接続され ている 部分 は パン ポッ ト 
制御 回路で, 八 0?0\1 の 出力 を 右, 左, 中央の いずれに 出力す るか (あるいは, 出力し ないか) 
を决定 する 部分です。 ?じ0 力; 左 チャンネル, ? じ 1 力 5 右 チャンネルに 対応して いて, 出力が' V 
(ニ!!は ヒレ ベル) になって いると, 該当する チャンネルへの 出力が 0?? にされ ます。 両 チヤ 
ン ネルと も 01^1 になって いると, 聴感 上, 中央から 出力され ている ように 聞こえます。 

ハードウェア リセ ッ ト後は 8255 の 1/0 ピン はすべ て 入力と なる ため, 八!) I ^ ^]V [の 出力 は 
両方と も 0?? に, 8255 の イニシャライズ 直後 は 出力 ピン はすべ て' 0, (二 し が レベル) とな 
るた め, 八!)? ^]V [出力 は両 チャンネル とも 01^ になります。 

オーディオ アンプの 前に も 似た ような 回路が 組んで あり ます。 これ はどう やら ミュー ティン 



259 



暇' 



1 サゥン ド 系の ブロ ック図 



層 】 

はリ 6258〉 



VI 

八 リ丁 



し 豪 旧 



(き 8255〕 




内蔵 スピーカ 



260 



サゥン ド 機構 



グ 回路 (電源 投入 時に 「ボ コッ」 と 大き な 音が 出て しまう の を 防ぐ 回路) のよう です。 




ド! VI 音源 



X 68000 では ド] VI 音源 151 と して ヤマハの 2151 を 使用して います。 ヤマハで は, いく 
つも VI 音源し 51 を 製造して いますが, それぞれに 愛称 力 5 ' ついています。 丫皿 2151 は 尸] VI 

(?加 0ロ6 !" 3ね 丁沖ヒ爪) という 名称に なって います。 この 名称 は !!" 11130 68 X などで も 使 

用され ている ため, ご存じの 方 も 多いで しょう。 本書で も 音源 し 51 の 名称 として 0?!^ を 
使用す る ことにします。 







ひ! 3 !^ の 内部 プロック 



0?1\^ [の 内部 ブロッ ク図を 262 ページの 図 2 に 示します。 0?]V [は 8 つの 音声 出力 回路 を 持 
つてお り, それらの 出力が ミックス されて 出力 信号と して 取り出されます。 それぞれの チャン 
ネル は, チャンネル 1 から チャンネル 8 まで 番号が 振られて おり, 通常の 音楽 演奏な どで は, 
この チャンネル 1 つ 力 《 楽器の 1 音に 対応し ます。 たとえば, ドミソ の 和音が 必要な とき は チヤ 
ン ネル 1 でド, 2 でミ, 3 で ソの音 を 出力させる ようにす る わけです。 

各 チャンネル は 4 つの スロッ トと 呼ばれる 正弦波 発振器から なって おり, それぞれ^ 1 (モ 
ジ ユレ ータ 1ん 矹2 〈 モジ ユレ ータ 2〉, (:丄く キャリア 1〉, じ 2 〈 キャリア 2〉 と 名称が つけ 
られ ています。 これら を 直列 や 並列 につ な ぎ あわせる こと で 複雑な 波形 をつ くり 出す わけです。 

0?^ に はこの ほか, 音が 出始めてから 消える までの レベル 変化 (立ち上がりの 強弱 ゃ餘 員の 
長さな ど) を 制御す る エンベロープ ジヱネ レー タ (!^ と 略されます) や' ブル ブルと いった 感 
じになる 音の 大きさの 変ィ匕 や, ワウ ワウと いった 周波数の 変ィ匕 (ビブラート) をつ ける ための 
し? 0〈 し 0^ ?化叫改^ 05611 お 0カ, あらかじめ 設定した 時間が く る と じ? じ に 割り込み を か 
けたり, ^[; の スロット を 一度に 発声 開始させる ことができる タイマ' 「ザ 一」 や 「シ 一」 とい 
つた 音 をつ くる ノイズ 発生 器 (スロッ ト 32 と 切り替えて 使用し ます) など 力 《組み込まれて いま 
す。 



261 



》 図 …… 2 0^ 内部 ブロ ック図 



チャンネル 1 



チャンネル 2 



チャンネル 3 



チャンネル 4 



チャンネル 5 



チャンネル 6 



チャンネル 7 



チャンネル 8 



】 ット 8 - 



ノイズ 一- 



お 一 



テーブル 







印 











各 スロットの 構造 



0?^ (丫^ 12150 



ム IX 



し 「0 



丁 11716「 



八 
^ 3012? 



082 



1^1 0|36「3 ま 

し 0が 「「69 リ 6 门 じ乂 05な1|310「 

なじリ门ほね广 

^11356 66 门 6「3 ね 「 

匚门 ソ6|0ロ6 。6 门 6「31:0「 



1 : ^0 づリ 13セ0 厂 1 
1^12: II 2 

01 : じ3「「16「 1 

02 : 1/ 2 



10 

01 ^ 6 

し. 3: '巳 



262 



サウンド 禝構 



か 2 スロットの 基本 構造 



0?1\^ [の!!^ 単位で ある スロッ 卜の 基 造と, それぞれ を 制御して いる パラメータ を 264 
ページの 図 3 に 示します。 

スロット の 中心 をな すの は 51リ 波形 テーブルです。 511^ 波形 テーブル は, 角度 データ を 与え 
る と, それに 対する 310 値が 出力 と して 取り 出される テーブルです。 この テーフ 'ルの 入力 と し 
て, から 2 冗 まで 11 線 的に 変化し, 次に ふたたび に 戻る ような, 鋸 波の データ を 入力 すれ 
ば, 出力 はきれ いな サイン カーブと なり, 入力 波形 を 歪める と, 出力 波形 は 大きく 歪む ことに 
なります。 0?1\^ [では スロッ トの 入力に 与える 波形と して, 鋸 波と 他の スロッ ト からの 入力 
〈IV! 1 スロット は 自分自身の 出力) を 加算した もの を 与える ことができ るよう になって います。 
た とえば, 他の ス ロットから サイ ン波を 与え ると, 51ぺ 波形 テーブルの 出力 八 3 ; ひ は, 



時刻 

角 振動数 

初段の ス 口 ッ ト の 出力 レベル を 決める 値 



となる わけです。 先 ほど 触れた 鋸 波 は, この 式の 中の", ^の 部分に 相当し ます。 0?1\^ [で 
はこの 信号 を 作成して いる 部分 を フェーズ ジェネレータ (?。) と 呼んで います。 フェーズ ジェ 
ネ レー タを訳 すと 「位相^ 器」 となります 力つ たんに 「鋸 波 発振器」 と 考えて おいてよ いで 
しょう。 フ ヱーズ ジヱネ レー タが 発生す る 鋸 波の 8^ 周波数 は, 0?1\1 の レジスタ 中の にじ, 
にド, ^1; レ 丁 1, 丁 2 といった パラメータで 決定され さらに 乙? (豁 します) によ 
る 変化の 景灣度 を 3 で诀定 します。 

さて, この 31 リ テーブルの 出力に 実際に 楽器 を 演奏した とき に 起こ るよう な 出力の 時間 的 
な 変化 を 与える のが エンベロープ ジェネレータ (狂。) です。 50 の 波形 は, アタック' ファー 
スト ディケイ, セカンド ディケイ, リリースの 4 段階に 分けられます (シンセサイザの 世界な 
どで は ファースト ディ ケィの 部分 をたん に ディ ケィ, セカンド ディ ケィ をサス ティ ンと 呼ぶ の 
か - ~1ま 的な よう です 力ぶ, ここで はメ 一力の アプリ ケーシ ョ ン マニュアルに 従った 名称に してい 
ます)。 これら を 自 楽器の 場合に あてはめ ると, アタック は キー を 押した 直後の 音の 立ち上が 
り, ファースト ディケイ は アタックで 行きつ いたと ころから 少し 戻る ところ, セカンド ディケ 
ィは キー を 押し 続けて いる 問, 音^が 少しずつ 下がって いく ところ' リ リース は キーから 手 を 
離した 後の 叙 貢に 相当し ます。 先 ほどの 式で いうと, 初段の スロッ トの 出力に かけ 算 されて い 
る ひ 力 4 刀 段 スロッ 卜の 20 の 出力に 相当し ます。 当然, 次 段も^^ した 20 を 持って います か 



263 



》 図 …… 3 スロッ 卜の 基本 構造 



他 スロットからの 入力 
(最高 2 つまで) 




^^エンベロープ' ジェネレータ) 



ま 1^1 



丁 1 (邮) 



I 匪 \ 
(レジス タノ 



01 し (八" 5〕 



しド 



^ 〉 付きの パラメ一 タは, 1 音 ごとに 
(設定す る ものである こと を 示す 



: フィードバック は, 



し 「8(3 
, ト だけに ある 



ぺ 


^ 00(^6 




《6ヅ 「「3 お 100 


隱 


1^1356 1^111 ヒ 1 卩 1ヅ 


丁 1 


06 丁瞻 1 


丁 2 


06 丁騰 2 




| 3 11356 1^0^11 13110 门 ぉ05 は がか 


服 


八& 30 に お お 




1,51: 06 じ 3 乂 お お 




2 '! 1づ 0603 乂 闩3ぉ 


昍 


^616356 ぉ3ぉ 




ぺ6ヅ 50311^18 


01 し 


1 51 0603 乂 し 6ソ61 


丁し 


丁 0ね1 し 6ソ61 


八" 5 


^卬ロ 1は11づ6 ^0^1^1311011 5611511:^1^ 




^5 & 



^0 : 1^336 ^0(11113110(1 印 比 
^门0 :^卬 卩" 1^0^1)131:100 06^111 

し厂卩 0: し が 1 7 ^601^611^ 



264 



サウンド 機構 



ら, 出力 八 0111; は 20 の 出力/? を 使って, 



^001;^;?511^ ("十 ひ 511 ^(が)) 



と 表す ことができます。 

20 の 出力 波形 は, 0?1\1 の レジスタ 中の 八^ 01^ 02^ &&, に3, 01 レ 丁乙 といつ 
た パラ メータ で 決定 され さらに 乙? による 出力 レベル 変動の 01^/0?? や 変動の 度合 を 
八] ^5 - 21^ や 八]^ 3 で 決定 しています。 

図 3 の? 0, 20 のハ 'ラ メータの うち, 〈 〉 でく くった もの は 1 チャンネル ごとに 設定す る 
ものである こと を, く く つてい ない もの は 1 スロッ ト ごとに 設定す る ものである こと を 示し ま 
す。 

図 3 の, 点線で 示された 1?0 という ブロック は, ? や 2〇 の 出力 を 低い 周波数で ふらつ か 
せる ための 信号 発生 器です。 0?!^ では チップ 内に 1 つ だけ 持って お り, この 出力 をす ベての ス 
ロッ ト カズ 共通で 使用して います。 し? は ? 用と 20 用の 2 つの 出力 を 持って おり, それぞれ 
の 出力 レベル を ひ 八] \40 という パラメータで 指定し ます。 乙? の 出力 波形の 禾廳, 周波 
数 は それぞれ 1 ^, という パラメータで 決定され ます。 

IV! 1 スロッ ト だけ は 自分自身の 出力 を 自分の 入力信号 とする フィ 一 ド バック 回路 を 持って 
おり, この フィードバック 量 を ? X パラメータで 指定す るよう になって います 



か 3 その他の 部分の 基本 構造 



0I ^ ]V [の スロッ ト以 外の 部分の 基 稀 造 を 266 ページの 図 4 に 示します。 オペレータに は, 
スロッ トの 組み合わせ を 指定す る じ0~, チャンネルの 音 を 左右, 中央の いずれから 出力す るか 
を 指定す る 1^ パラメータ カ认 力され ます (メーカ 力 《 據 している 0?]V [の ブロック 図で は, 
乙 尺 は アキュームレータ の 部分に 入力 されて い るので すが, 感覚的に は オペレータ に 効いて レ 、 
ると 考える ほうが わかりやすい ので, ここで は オペレータに 入力され る ものと しています)。 

ノイズ ジェネレータ は 0?^ 内に 1 つ だけあります。 ノイズ 出力の 0~ズ0?? は 音質 
を 1x11^^3 で 寸旨定 します。 ノイズ 出力が 0リ される と, スロッ ト 32 の 31^ 波形 テーブルの 出 
力が ノイズ ジヱネ レー タの 出力と 置き換えられます (図で は 表しに くいので, スロットの 出力 
と 切り替える ように 書いて います)。 



@ 4 〇 ド! VI の アドレス 配置 



0?!^ の ポート アドレス を 図 5 に 示します。 

0?0 は, ^290001 番地に レ ジス タ 番号 を 設定 した 後, 3290003 番地の デー タ ポー ト を 使つ 
て, これらの レジスタに アクセス します。 0?1\1 は 内部に 多くの レジスタ を 持つ てい ま すカ气 音 
作 り に 関係す る レ ジス タ はすべ て 書き込み 専用で あ り, リー ド時は レジスタ 番号の 設定に 関係 
なく, つねに ステータス レジスタ 力、 1 売み 出されます。 



^ 図 …… 4 スロット 以外の 部分の 基本 構造 



レン ト 



(ノイズ ジェネレータ) 



昍 闘 (? 



0ド (オペレータ) 



スロット 








スロット 








スロット 





^^出力 
し^ 出力 



: リ6 出力 は スロット 32 と 切り替えて 使用す る 




しに/ \1 じしに 8 
じし^ 2 

^巳 : 1^0156 己 031)16 

し^: し 6れ 0^130061 巳 113匕16ダ 
8 ほ は 0(13 ^[! 61 巳门 3 匕 16 



全ス ロッ トー 斉キ一 01^ 
。? じへの 害 リ り 込み 



? ! 



266 



サウンド 機構 



図 一... 5 0^71 の ポート アドレス 



ァ ドレス 


データ 


内 容 


07 0ケ5 や や ケヶ。 


8 & 90001 




レジスタ 番号 設定 ポ— 卜 


5 & 90003 




デ一 夕お お, ^「は6 ポート 



05 01^1^ の リード レジスタ 



0?!^ からの リード を 行う と, つねに ステータス レジスタ の 内容 か 1 売み 出 されます。 この レジ 
スタ のビッ ト 配置 を 図 6 に 示します。 ビッ ト 7 は 0?^1 の 書き込み 8115 丫 フラグで, 0?^ 力 5 ' 
0?0 から 次の ァクセ スを 受け付け ら れな I 、状態で あ る こと を 示して います。 0?1\1 への 書き 
込み を 行う 場合 は, この ビットが' 'になって いる こと を 確認 してから 行わ な ければ なりません。 

ビッ ト と ビット 1 は, 0?1\4 内部の 2 つの タイマの うち, いずれが オーバーフローした のか 
を 示す ビ ッ ト です。 0?1\4 の タイ マ は, あら か じめ 設定 した 時 問 か轻 過した 後に じ? リ に 割 り 込 
み を かけたり, 全 スロットに 一斉に キー オン を 与える ことができます。 この ビッ トは おもに 
0?0 に 割 り 込み を かける よう な 使い方 を したと き, 割 り 込みが いずれの タ イマに よる もので 
あるか を じ? II 力ぐ 判断で きる ようにす るた めに 使) 11 します。 

鲁!^ …… 6 091\^ ステータス レジスタ 



15 丁 


15 丁 


(八) 


(已) 



書き込み 8 リ 5 丫 フラグ 

1 : データ 書き込み 中 〔0 ドリ は 次の デ一 夕の 書き込み を 行って はいけ ない) 
0: 通常 動作 に リ 行って よい) 



1 : タイマ 8 才一 バ' 
フロー 発生 

0: 夕 イマ 8 は才ー 
ノ 、'フローし てい 
ない 



1 : タイマ ム才一 バフ 口一 発生 

0: 〃 は才一 バフ 口一 していない 



267 



^6 



0卩1\^ の ライト レジスタ 



0?1\1 の 書き込み レジスタの 配置 を 図 7 と 図 8 に 示します。 レジスタ 番号が 300 からお? ま 
での レジスタ は ノイズ, タイマ, し? など, 0?1\^ [内部に 1 つし かない ものの 設定, 320 から 
お? が チャン ネル 単位で 指定す る もの, 540 か ら 5?? は スロット 単位で 指定す る も のが 配置 
されて います。 次に, これらの レジスタ を アドレス 順に 説明して いくこと にしましょう。 



図 …… 7 0卩!\^ の レジスタ 一覧 (その 1 〕 



レジスタ 

番号 


1)1*7 


1)116 


お 5 


61(4 


1)11 3 611 2 


61! 1 


61(0 


備 考 


100 
|01 


11111 


し 「0 

^6561 


で' 


テスト 用 レジスタと 兼用な ので, 13 は 1 以外 

の ビット を' 1 'にしない こと 


102 
ま 




「1111 








^08 




111111 


^ 0^/0 「「制御 


|09 

\ 

は 








101^ 


1^已 




1111 


—(お) - 32x1.0 レイズ 制御) 


ま 10 







し" (上位) 






511 




011^ (下位) 


丁 あ) : 6 " : - 謹) (タイマ 八) 


%]2 






し!^ 

—— 1 —— 


^ 1 一一 




丁 ! 、 1024ズ (256-^ しべ 巳) 

丁 4000 (タイマ 日) 


|13 
114 






「-昍 35 丁 

(巳) ! 


—— 1 —— 
⑨ 1 (ん 


し 0;\0 

05 | (め 


タイマ 動作 制御 


|15 
^17 














118 




I 1 1111 
し网 

111111 


し 「0 周波数 設定 


^19 
ま 1 八 










ド 二 〗 : 卩, 


ま 


071 


072 






汎用 出力 制御 (じ 丁 1 ん丁 2〕 
し 「0 出力 波形 選択 (が) 


扪 ド 













268 



サウンド 機構 



図 …… 8 01=1^ の レジスタ一 覧 (その 2 〉 



レジスタ 
番号 


お 7 


1)116 


ヒ115 


6 ;" 




お 2 


13111 6110 


備 考 


1 20 

1 

ま 27 


ひ 


し- ゆ 
已リ 


「し 




00^1 


IV し 出 カイ ネーブル (チャンネルの 出力 加 かび) 

「1 1 ^99^^ 1 9—1(^/11 の フィード パック 詈 制御) 

1 1^ 1 | じリリ し! \ し 仁 V じ 1 \ IV! 1 V ^ 7 | '/尺 II】 リ れ ノ 

00^:00006^100 (スロットの 結合 方式 選択) 


1 

セ 

に 
設 
定 


^28 

1 

ま 2 ド 




〈 


1 1 

0じ 丁) 


(隨 已) 


香^^ 

曰 ド 白 迅"、 


^ 30 

\ 

ま 37 




1 1 1 






香脾撒 亏固整 
日 卜 白 1 取剩 生 


^38 

\ 

お 「 




,5 




八! ^15 


: 印 356 ^0(^1113110^1 36 门 5 出^な 
八 リ3 : ^01(311^(16 IV! 0^1^ 13110 [! 3605 ほ 1 禽 


\ 

^5 に 




—— 1 —— 1 —— 
丁 1 


IV! 


11 し 


071 : 06*1106 1 (周波数 微小 変化) 
V リ し:!^ 336 口 卜 (周波数 倍率 設定) 


^ ベロ ト丄 り" ^ リ^^ 


ま 60 

1 

^7 に 










I I I 

丁し 


丁 1 - 丁 1 口 〔 中 1 カレべ」 レ 1 さ定) 
1 し. 1 ひ 1(3 1 し V 1-^-1 ノ」 レ —ノレ ロ乂 ノ 


^80 

1 

まれ 


ド 


5 




八^ 


^5 : ^6^ 50311 叩 (印の 各 レ-トの 化への 依存度 
: ^30^ [^お ほ饥) 


か八门 
》 八 じ 

ま 


已~ 




\ ノ 


圖 


^5 巳 门:/ 巳门 3616 
01^:1 ^ 0603乂 ^316 


\ 

ま 





72 






I I I 
圆 


012 : 06 ね 116 2 (周波数 大変 化) 
02^: 2^6 06037 おね 


れ 

1 

^「に 





1 し 




服 


01 し: 1 06 じ 3 乂 し 6ソ61 
88 : お 16336 ほ 3 お 



0-01 



テスト レジスタ 



テス ト レジスタの ビッ ト 配置 を 図 9 に 示します。 
き 図 …… 9 テスト レジスタ 



^01 


丁& 5 丁 


円11 
の 〇 
円 


丁 巳 5 丁 























これらの ビッ ト はすべ て 

テス ト 用の ため, '(! '以外 
は 書き込まな いこと 



1 : し 「0 を リセット する 
0: し 「0 出力 を スタートさせる 



269 



この レジスタ は, メーカ の 出荷^^ 時に 使う のがお も な 目 的です。 公開 されて いるの はビッ 

ト 1 だけで, これ 以外の ビッ ト はすべ て' 'で 使う ようにし てく ださい。 ビット 1 を' 1 'にす る と 
し? 力 5 ' リセ ッ トされ で 'に 戻す と し? が スタート します。 他の 音と し? を 同期 させて 動か 
したいような 場合に 有効です。 



02 



《01\1 レジスタ 



キー オン/キー オフの 制御 を 行う レジスタです。 ビッ ト配 ^を 図 10 に 示します。 音の 01^ダ 
0?? を 制御す る もので, 鍵 鱸 楽器で いうと, 趣 を 押した とき 力 《 キー オン, 鍵盤から 指 を 離し 
たと きが キー オフと なり ます。 

1^01^ レジスタの 下位 3 ビッ トで 制御したい チャンネル を, ビッ ト 3〜6 で, その チャンネル 
の 各 スロッ トを キー オンす る 力 \ キー オフす るか を 決めます。 該当する ビッ ト 力 5 ' '!' のとき に 
キー オン, ,0 'のとき に キー オフになります。 

^01^ レジスタ では 1 チャンネル ずつ しか ベで きないた め, 複数の チャンネル を キー オン 



…-. 10 


1)117 


6 


5 


4 


3 


2 1 6;10 


十 舞 




02 


01 


^12 


1 


0^ !^. 



チャンネル 番号 選択 



1 1 1 
110 
101 
100 
011 
010 
001 
000 



チャンネル 8 

II 7 

I! 6 

I! 5 

お 4 
〃 3 

I! 2 
〃 1 



1 : リ1 出力 0^1 
0: 〃 ドド 



1:^/12 出力 リ 
0: I! 吓 



1 : 01 出力 0^1 
0: II 0^ 



1:じ2出カ0リ 
: II び 



270 



サウンド 機構 



させた とき は, 当然の ことながら, それぞれの チャンネルの 出力 波形の 位相 は あわ なくなり ま 
す。 位相 を 確実に あわせて スター ト させたい と き はタ イマ 八に よる キー ォ ン 機能 を 利用 します。 



03 



ノイズ ジェネレータ 制御 レジスタ 



0?1\1 内部の ノ ィ ズジ エネ レー 夕の 01^/0?? 制御 ゃノ ィ ズ周 波&の 制御 を 行つ レ ジス タ 
です。 ビッ ト酉己 置 を 図 11 に 示します。 下位 5 ビッ 卜で ノイズ 周' 波 数 を' ビッ ト 7 で ノイズ ジェ 
ネ レー タの 01^1/0?^ 制御 を 行います。 ビッ ト 7 が' 1 'だと ノイズ ジェネレータが ィ ネーブルに 
なり, スロッ ト 32 が ノイズと 入れ替わります。 エンベロープ ジェネレータ は スロッ ト 32 の も 
のが そのまま 使用され ます 力 5 ', ェン ベロー フ 。の カーブ は アタックが ェクス ボー ネンシ ャル' そ 
れ 以外 はすべ て [! [;镍 的に 変化す る よ う にな り ます。 



^ 図 …… 11 ノイズ ジェネレータ 制御 



ま 


ぼ 

















-ブル 

1: ノイズ 出力 リ 
: II 吓 



| ノイズ 周波数 1^0!56: 
^ ノイズ 周期 丁" 01 56 : 



ノイズ 周波数の 設定 

4000 



(ド な) 
「(ぬ) 



04 



タイマ 八 設定 レジスタ 



0?]V [カ^ つてい る 2 本の タイマのう ち, タイマ^に 時間 設定 を 行う レジスタです。 ビッ ト配 
置 は 272 ページの 図 12 のように なって います。 デー タ 長が 10 ビット あ るので, 上位 8 ビ ッ ト 
を レ ジス タ 番号 5 10 に, 下位 2 ビット を 511 に 割 り 付けて います。 この レジスタ に 設定 した 値 を 
(: し X 八と すると, 64乂 ひ024— (:!^: 八)/ 4000 (!^) 後に オーバ フロー を 起こします。 じ?リ に 
割り込み を かけたり, 全 スロッ トに 一斉に キー オン を 与える ことができます。 



鲁図 …… 12 タイマへ 設定 

匕け7 6 5 


4 3 




1 ! 3110 


お 


し (上位) 




お 1 




(: し 《^ (下位) 



〇 し ぺみ (±^) 



體 (下位) 



2 本 組 
み 合わせ 
て 10ヒ けデ一 
タ として 极ぅ 



タっ 7 時間 丁 八 : ^5; 



05 



タイマ 8 設定 レジスタ 



タイマ 8 に 時間 設定 を 行う レジスタです。 ビッ ト 配置 は 図 13 のように なって います。 タイマ 
8 はビッ ト 長が 8 ビッ 卜で あるた め, レジスタ 番号 312 だけで カウン ト値カ 《設定で きます。 この 
レジスタに 設定す る 値 を とする と, 1024乂 (256—^0^:8)/4000 (:!ぉ) 後に じ? I; に 割 
り 込み を かける こと 力 《できます。 

奢 図 …一 13 タイマ 8 設定 



ま 12 



!: し ぺ8 



々ノ —は 一丁 一 1024ズ 〈256 — し ド日) 1 、 
タ 1 《時間 丁 8 = 4000 (の 5 ) 



06 



タイマ 制御 レジスタ 



タイマ 制御 レジスタの ビット 配置 を 図 14 に 示します。 この レジスタ は, タイマの 動作 01^ノ 
0?? 制御 や 割 り 込み を 発生す る か 否かな ど を 指定す る も のです。 

ビット , 1 は タイ マ 動作の 01-1/0?? を 制御す る もので, ビット がタ イマ 八に, ビ ッ ト 
1 が タイマ 8 に 該当し, ,1 'で タイマ 力;' 始動, で 'で '停止し ます。 



272 



サウンド 棲橫 



図 …… 14 タイマ 制御 



61( 7 6 5 4 3 2 —1 6は0 



05^ 




「-ぼ 5 已丁 


1^0^ 


^ 、 し隱 1 、 




(已) ! (六) 


(已) ! (八) 


(日) ! ひ) 



1 : タイマ 六 動作 開始 

: II 停止 

1 : タイマ 8 動作 開始 
: II 停止 

1 : タイマ/ \ 割り込み イネ 一 ブル (許可) 
0: II ディ セーフ' ル (禁止) 

1 : タイマ 8 割り込み イネ 一 ブル 
0: II ディ セーブ ル 

1 : タイマ 八 オーバ フロー フラグ リセ ッ ト 
0: 通常 動作 

1 : タイマ 8 オーバ フロー フラグ リセ ッ ト 
0: 通常 動作 

1 : 夕 イマ/ \ の オーバ フロー 時に 全 スロッ トを リに する 
0: 通常 動作 



ビッ ト 2, 3 は, タイマが オーバ フローした ときに じ? I; に 割り込み を かける か 否か を 設定す 
る もので, ビッ ト 2 カズ タイマ^ 用, ビッ ト 3 が タイマ 8 用です。 この ビッ トを' 1 'にしておく と, 
オーバ フロー 発生 時に じ? I; に 割り込み 発生 を 許可す る とともに, ステータス レジスタの 1 
51 ビッ ト を' 1 'に セッ ト します。 

ビッ ト 4, 5 は ステータス レジスタの 1 5 丁ビッ トをク リアす るた めの 制 《卸 ビッ トで, ビッ ト 
4 が タイマ^, ビット 5 が タイマ 8 の 15 丁 ビット ク リアに 使用され ます。 この ビット を' 1 'に 
すると, 該当する 1 5 丁 ビットが ク リアされ ます。 

ビッ ト 7 は タイマ^に よる 一斉 キー オン 機能 を 使う か 否か を 指定す る もので, 1 'を 設定して 
おく と, タイマ 八の オーバ フロー 力 《発生した ときに 自動 勺に 全 スロッ 卜が キー オンされ ます。 



07 



し 「0 周波数 股定 レジスタ 



274 ページの 図 15 にビッ ト 配置 を 示します。 ビブラート など を かける ための しド の 周' 波 数 
を决定 します。 設定 値 と 周波数の 関係 を 表 1 に 示し ま す。 



273 



図 …一 15 し 「0 周波数 設定 

1)11 7 6 ^ 5 4 3 2 1 ヒ は 。 

|18 し 「8(3 

一 I 

し 「0 の 発振 周波数 を 設定す る 



'表 …… 1 し 1=^(3 の 設定 値 と し 「0 の 発振 周波数の 関係 



观 
は X】 


ド崎 
(セ) 


趣 
ま) 


「网. 
(お 


3 さ 


^8 巳 13. 

(ね) 


^1 


^卿. 
(が 


び 
「巳 

ド 


59.1278 
57.2205 
55.3131 


8^ 
8 巳 
80 


3.6955 
3.5763 
3.4571 


7 ^ 
7 巳 
70 


0.2310 
0.2235 
0.2161 


31^ 
3 巳 
30 


0.0144 
0.0140 
0.0135 


1^0 


53.4058 
51 ,4984 


80 
88 


3.3379 
3.2187 


70 
78 


0.2086 
0.2012 


30 
38 


0.01 30 
0.0126 


ひ 
^9 


49.5911 
47.6837 


8^ 
89 


3.0994 
2.9802 


7 八 
7 9 


0.1937 
0.1863 


3 八 
39 


0.0121 
0.0116 


1^8 


45.7764 


88 


2.8610 


78 


0.1788 


38 


0.0112 


^7 


43.8690 


87 


2.7418 




0.1714 


37 


0.0107 


1^6 
1^5 
1^4 


41 .9617 
40.0543 
38.1470 


86 
85 
84 


2.6226 
2.5034 
2.3842 


76 
75 
74 


^ 1639 
0.1565 
0.1490 


36 
35 
34 


1 1 02 
0.0098 
0.0093 


1^3 
^2 
「1 
ド 
ビ^ 


36.2396 
34.3323 
32.4249 
30.5176 
29.5639 


巳 3 
82 
81 
80 


2.2650 
1458 
乙 0265 
1 1 9073 
1 ,8477 


73 
72 
71 
70 
6 「 


0.1416 
0.1341 
0.1267 
1 1 1 92 
1 1 1 55 


33 
32 
31 
30 
2 V 


0.0088 
0.0084 
0.0079 
0.0075 
0.0072 


巳& 
匚 
巳 
巳 巳 
巳/ \ 


28.6102 
27.6566 
25.7029 
25.7492 
24.7955 


八 巳 
八0 
八 

み 八 


1 .7881 
1 ,7285 
1 ^689 
1 ^093 
1 . 5497 


6 巳 
60 
60 
68 
6 & 


0.1118 
0.1080 
0.1043 
[!. 1006 
0.0969 


2 & 
20 
20 
28 
2 & 


0.0070 
0.0068 
0.0065 
0.0063 
0.0061 


巳 9 
& 8 
匚 7 


23.8419 
22.8882 
21 一 9345 


;\8 
み7 


1 .4901 
1 ,4305 
1 一 3709 


69 
68 
67 


0.0931 
0.0894 
0.0857 


29 
28 
27 


0.0058 
0.0056 
0.0054 


^ 6 
^ 5 
巳 4 


20 0808 
20 0^72 
19.0735 


八 6 
ト ^ 

は 


1 31 1 ^ 
1 ^51 7 
1 .1921 


66 
65 
64 


0820 
0782 
0.0745 


26 
25 
24 


^\^ ^ ^] 
^04 
0.0047 


巳 3 
巳 2 


18.1198 
17.1661 


八 2 


1 1 1325 
1 ,0729 


63 
62 


0.0708 
0.0671 


23 
22 


0.0044 
0.0042 


已 1 


16.2125 


み 1 


1 1 01 33 


61 


0.0633 


21 


0.0040 


三 
0^ 


15.2588 
14.7820 


み 
9^ 


0.9537 
0.9239 


60 
5 ド 


0.0596 
0.0577 


20 
1 「 


0.0037 
0.0036 


巳 
00 


14.3051 
13.8283 


9 己 
90 


0.8941 
0.8643 


5 巳 
50 


0.0559 
0.0540 


1 


0.0035 
0.0034 


00 
08 


13.3514 
12.8746 


90 
98 


0.8345 
0.8047 


50 
58 


0.0522 
0.0503 


10 
1 8 


0.0033 
0.0031 


0^ 


12.3978 


9 众 


0.7749 


5 ム 


0.0484 


1 ム 


0.0030 


09 


1 1 圍 9209 


99 


0, 7451 


59 


0.0466 


1 9 


0.0029 


08 


1 1 .4441 


98 


0.7153 


58 


0.0447 


1 8 


0.0028 


07 


10.9673 
10.4904 


9 7 
96 


0.6855 
0.6557 


57 


0.0428 




0.0027 


06 
05 


10.0136 


95 


0.6258 


56 
55 


0.0410 
0.0391 


1 6 


0.0026 
0.0024 


04 


9.5367 


94 


0.5960 


54 


0.0373 


1 4 


0.0023 


03 


9.0599 


9 3 


0.5662 


53 


0.0354 


1 3 


0.0022 


02 


8.5831 
8.1062 


92 


0.5364 


52 


0.0335 




0.0021 


01 
00 


7.6294 


91 
9 


0.5066 
0.4768 


51 
50 


0.0317 
0.0298 


1 1 
1 


0.0020 
0.0019 


01^ 


7.3910 


8 ド 


0.4619 




0.0289 


0^ 


0.0018 


& 


7.1526 


8 巳 


0.4470 


化 


0.0279 


巳 


0.0017 



274 



サウンド 機構 



00 


6.9141 


80 


0.4321 


40 


0.0270 


00 


0.0017 


00 
巳 


6.6757 
6 . 4373 


80 
8 巳 


0.4172 
0.4023 


40 


0.0261 


00 


0.0016 


に! \ 


6.1989 


8 八 


0.3874 


4 6 
4^ 


. 0251 
0.0242 


8 
八 


^ 001 6 
0.0015 


9 


5 . 9605 


8 9 


, 3725 


4 9 


. 0233 


9 


^ 0015 


08 


5.7220 


88 


0.3576 


48 


0.0224 


08 


0.0014 


7 


5.4836 


8 7 


0.3427 


4 7 


0.0214 


7 


0.0013 


06 


5.2452 


86 


0.3278 


46 


0.0205 


06 


0.0013 


05 


5.0068 


85 


0.3129 


4 5 


0.0196 


05 


0.0012 


04 


4.7684 


84 


0.2980 


44 


0.0186 


04 


0.0012 


03 
02 


4.5300 
4.2915 


83 
8 2 


0.2831 
0.2682 


4 3 
4 2 


0.0177 
0.0168 


03 
02 


0.0011 
0.0010 


01 
00 


4.0531 
3.8147 


8 1 
80 


0.2533 
0.2384 


4 1 
40 


0.0158 
0.0149 


01 
00 


0.0010 
0.0009 



08 



卩!^ロ/ 八! ^0 設定 レジスタ 



しヌ が 出力す る ? 用の 出力, 26 用の 出力 それぞれの 出力 レベル を 設定す る ものです。 こ 
の レジスタの ビッ ト配置 を 図 16 に 示します。 ビッ ト 7 で 書き込む 値 を?] \10 とする か 八] \10 
とする か を' 决定 します。 ビッ ト 7 力 5 '' 1 'だと 下位 7 ビッ トは 1 〕 1\40, で 'だと 八] \10 と して 扱われ 
ます。 この 値が 大きく なるほど, 出力 レベル 力 2 ' 大きくな り, 深い 変調が かかる ようになります。 

參図 …… 16 ^710/^1^0 設定 



|19 



し 「0 の 出力 レベル 設定 



翁 下位 71)11 カ^! ^10 値 か/ \リ0 値 か を 決める 
1 : ?^10 
0: 謂 



09 



汎用 出力/し 「0 出力 波形 制御 レジスタ 



ビッ ト 配置 を 276 ページの 図 17 に 示します。 0?1\1 は 各種の 用途に 使用で き る 汎用の 出力 
端子 を 2 つ 持って いますが, X 68000 では, これ を ? 0ひ フロッピー ディ ス クコン トロー ラ) の 
& 2 八 0丫 端子 を 強制的に & 2 八 07 状態に する 信号, お よ び 八 0?じ 矹 の クロ ッ ク切 り 替え 信 
号と して 使って います。 

レジスタ の 下位 2 ビ ッ ト は 匕!^ の 出力 波形 を 選択す る もので', 図に あるよう な 4 種類の 中 



275 



き 図 …… 17 汎用 出力/し ド 出力 波形 制御 



316 



丁 1 


〇 丁 2 







し 「0 の 出力 波形 選択 
(下図 参照) 



「IX; の ほ已八 丫端子 制御 

1 : 強制的に ほひ 丫 状態に する 
0: 通常 動作 



门:ひ) 方向に なるほど, 
減衰 置が 多くなる 

#2: (十) 方向に なるほど, 
周波数が 高くなる 



八 [^(^の ク 口 ッ ク 切り替え 
1 : 4 隐 
0: 8 隐 



から 選択す る ことができます。 I を, 11, (二〕) に 設定す ると, 乙ド0 の 出力 は ノイズ 波形に な 
り, 20 や? を ランダムに 振る ことができる ようになり ます。 ノイズ ジェネレータ カズ 独立した 
ノ ィ ズ音 であるのに 対し, 1?0 のノ ィ ズ 出力 は 基本 音の 周波数 や 出力 レベル を ランダムに 振 
ると いう 点 力ぶ 異な ります。 



は (フェーズ ジェネレータ) に 与える 波形 



^(エンベロープ ジェネレータ) に 与える 波^ 




(十) 
冬 





(二) レイズ) 




276 



サウンド 機構 



0-010 



チャンネル 構成, 出力 制御 レジスタ 



スロット の 接続 方 ;於, IV! 1 スロットの フィー ドバッ ク率, 左右 チャンネルへの 出力 選択 を 
行う レジスタです。 ビッ ト 配置 は 図 18 のように なって います。 ビッ ト 6, 7 は それぞれ 左 チヤ 
ン ネル, 右 チャンネルへの 出力の 01^/0?? を 制御す る もので, 1 'を 書き込む と それぞれの チ 
ヤン ネルへの 出力が 01\1 に, ,0 'を 書き込む と 0?? になり ます。 片方 だけ を 01^ にす ると そち 
ら 側から, 両方 0~ にす ると 中央から 音が 出て いるよう に 感じます。 

ビッ ト 3〜5 は, スロッ トカ 5 持って いる フィードバック 回路 を 通して 帰還させる 比率の 
凝 尺 を 行う ものです。 選択す る フィードバック 率 は, スロットの 出力 レベルに かけ 算 される た 
め, 出力 レベルが 下がる と, フィードバック される 量 も 少なくな ります。 

ビット ~ 2 の 3 ビット は スロット の 接続 方法 を 決め る ものです。 スロット の 接 も繊 態 は 図 
19 と 図 20 に 示す よ う な 88^1 頁が あ り, この 中から どれ を 使用す るか を 決める わけです。 



図 …… 18 チャンネル 構成, 出力 制御 (チャンネル ごとに 設定) 

1)117 6 5 4 3 2 ^^^^ 1 & は 



^20 



ド- 


し- (:ド 


巳リ 


ビ^ 



〇0 關 。 咖 (スロットの 接続 方法) を 
選択す る 

リ 1 が 持って いる フィードバック 回路の 
フィードバック 率 を 決める 

111 : 4 X ^ 

110: 2 X?? 

101: 71 

100: 4~ズ ^ 

010: 1X71: 
001 : 1^X7? 

000: (フィードバック (^「ド) 

1 : 左 チャンネルへの 出力 01\1 
: 1! 「ド 

1 : 右 チャンネルへの 出力 0!\! 
: II 0厂「 



277 



き 図 …… 19 コネクションの 種類 (その】) 

円〜 ?む?^く フェーズ ジェネレータ) の 出力 信号 



00(^1 = ~ IV! 1 



01 



^2 



02 



~ 0じ 丁 



「3ー 01 







し 0~ 


IV! 1 


― 1^ 



^2 



02 



007 







し 1 


^1 





00^1 = 2 「 3 ー 



01 





02 




ト 





0じ 丁 




278 



サウンド 機構 



き 図 …… 20 コネクションの 種類 (その 2 



^1 



00^ = 4 



~ 01 

个 



1^2 ~ ~ 02 



01 



~~ ^ 011 丁 



00^ = 5 



1^11 



1^12 



ィ) ^ ― 。リ 丁 



? 1 



02 









^1 





01 



? 1 



00^1=6 



^2 



^ ~~ ^0 リ丁 



~ ― 02 




IV! 1 



00^ : 



01 



^2 



007 



279 



0-011 



に キー コード) レジスタ 



XI: レジスタ は チャンネル か" !が和 する 8^ 周波数 を 音階 単位で 選択し ます。 ビッ ト 配置 は 図 
21 のように なり, 1 可 オクターブ 目の, 何の 音で あるの かとい う 設定 を 行います。 0?!^ は クロ 
ッ ク 周波数 として 3 ― 579545 ^只2 力 5 ' 与え られ たと きに もっとも 誤差が 少な くなる よう な 音階 
テーブル を 持って いるので すが, X 68000 では クロック として 41^82 を 与えて いるた め, 約 
1 音 〈192.27 セント) 高い 音が 出て しまいます。 このため, 0?IV [の マニュアル では 卩 丁 2 
力 1^ のとき に 八の 音と なると ころ 力 5 ', X 68000 では 8 の 音に なり ます。 

音の ずれが 200 セン ト ぴったりで はないた め, 気になる 方 は^^ 分 を X? レジスタで す 
るよう にして ください。 



I 図 …… 21 《じ (キー コード) (チャンネル ごとに 設定) 




00 丁 



~0 丁 5 



オクターブ 指定 

出力 周波数ね リ (は, 00 丁と 0山0 丁に の 〈 〕 内 
に 記述した 数値) を 用いる と, 



龍 ^ 440 X 



3.579545 



と なる。 

本当 は/ \ 4 ((^ 丁 ニ4 の , ラ' の 音) 力 5 44042 な 
ので, 

饥 丁 一 (!十^^) 
!0^^ 440X2 12 

となる よう に X 「で 補正す る 必要が ある。 



隨巴 
れ 
ゆ 

5み 
9 
8 
6 
5 
4 
2 
1 




指定 
(レ) 
0# 

(ド) 
8 (シ) 
^# 

八 (ラ) 
6# 

6 (ソ) 
「# 

「 〔 ファ) 
に (ミ) 
0# 



(门) 
(川) 
(ョ) 
ひ) 

… 
(ミ) 
ひ) 
(ョ) 
(?) 

? 



0-0)2 



に I 3 (キー フラクション) レジスタ 



レジスタの ビッ ト 配置 を 図 22 に 示します。 

上位の 6 ビッ ト だけが 使用 さ;^ この 値に よって X。 で 設定した 周波数に 約 丄ぷくニ^!^邝め 
セ ン ト 単位の! X? 雕を 加えます。 I くじ と I く? の 関係 を 図 23 に 示 し ま すので 参考に して く ださ 



280 



サウンド 機構 



図 …一 11 に 「(キー フラクション) (チャンネル ごとに 設定) 



611:7 6 5 4 3 2 1 じ は 


び 









1 音 (川。 セント) 間 を 約 1.6 セント 卜^") き ざみ で, 
音程の 微調整 を 行う 



図 一… 23 X 「による 音程 指定 








1 




3 


4 


5 


6 






001 





1 




3 


4 


5 


6 


7 












3 ~0 





1 




4 


5 


6 


8 


9 


^み 


^0 


お 




1^0 お 


0# 






ド# 





0# 


八 




8 





0# 











バ 、 ^ ノ 


16 


一 ~^ 一 ノ 


32 


バ ~ 


48 


バ 


63 







06 は 





バ 、 ノ 


25 


^ 、 ^ ^' 


50 


バ ~ 


75 


パ — ~ — 


? 1x63 








0-0)3 



卩!^さ/ 八! ^5 設定 レジスタ 



?] ^0/^0 が 乙? の 出力 レベル を 設定す るのに 対 し, ?] ^15/^5 は チャンネル ご と に 
し? の 効きぐ あい を 設定す る ものです。 レジスタの ビッ ト 配置 は 282 ページの 図 24 のように 
なって います。 ビット 4~6 は? 6 への 効き 方 を, ビット 0, 1 は 20 への 効きぐ あい を 設定 
します。 図の 中に 書いた 数値 は, し? の 出力 力 5 ^ レベルに なった ときの 値 を 示して います。 



き 図 …… 24 ^5/^5 (チャンネル ごとに 設定) 



138 
ま 3 厂 





1 ! '― 

1 1 







し 「0 による 周波数変調 度 設定 # し 「0 による 出力 レベル 変調 度 設定 # 



111 


±700 セント 


1 1 


95.62568 


110 


±400 II 


10 


47.8125(^8 


101 


±100 II 


01 


23.90625(18 


100 


±50 II 


00 


0^ 已 


011 


±20 1! 






010 


±10 1! 






001 


土 5 II 






000 


11 







氺 値 はいずれ もし 「0 の 出力 レベルが 最大のと きの 値 



丁 し 設定 レジスタ 



ビット 配置 を 図 25 に 示します。 1\11; し, 丁 1 および 丁 2 は じ0~50? にあります) は, 
1^0 や X? で' 与え た 周波数 (仮 り に 基本周波数 と 呼ぶ こ とに します) を もとに スロット ごとに 異 
なる 周波数 をつ く り 出す もので', しが 1/2—15 倍までの 倍率 設定, 丁 1 力 (数 セント 程 渡 
の自 整, 丁 2 力 5 ' 数百 セ ン ト レベルの 大きな ずれ をつ く るのに 使用され ます。 

ビット ~ 3 の 4 ビット は 倍率 設定で, のとき に は 基本周波数の 1/2, 1 仏 ヒの と き に は 基 
本 周' &&の 設定 値 倍の 周波数が? から 出力され ます (!) 丁 1=0 下 2=0 のとき)。 

07 1 による 周波数 変動 は にじ の 値に よって 変わり ます。 この 関係 を 表 2 に 示します ので 参 
考に 



丁し (トータル レベル) 設定 



丁し は スロッ トの出 カレ ベル を 制御す る もので, 20 で 計算した 出力に, この レジスタで '決め 
たさ 咸衰量 を かけて 実際の 20 の 出 力と しています。 レジスタの ビッ ト 配置 を 284 ページの 図 
26 に 示 します。 丁し レジスタ は 下位 7 ピット だけ か 有効で, 離 量 は ― 75乂 丁し (昍) となり ま 
す。 丁し が のとき 力;' もっとも 出力 信号 レベル 力 3 ' 大 きくな り, 37 ? のとき にもつと も 小さくな 
り ます。 



282 



サウンド 機構 



》 図 …… 25 丁 卩" リし 〈 スロッ ト ごとに 雷 殳定) 



お 

\ 

ぉド 



丁 1 



^し 



ド。, 《「で 与えた 周波数 を 《(:, 《ドで 与えた 周波数 を 

さらに ずらす 量の 設定 (微調整) 下記の 倍率に する 



串「 


15 




14 


お 


13 


お 


12 


^6 


1 1 


ま/ \ 


10 


9 


9 


8 


8 




7 


6 


6 






4 


4 


3 


3 


2 




1 




1 

0.5 



表 …… 2 丁 1 の 設定 値と 周波数の ずれ 方 



IX 丁 


^0 丁已 


周波数の ずれ (セント) 


周波数の ずれ (!"^) 


丁 1=0 


071=1 




071 


ニ3 


071=0 


071=1 


071=2 


071=3 











000 


0.000 


5.025 


10 


036 





000 





000 





053 


0.107 





1 





000 


0.000 


4.228 


8 


445 





000 





000 





053 


0.107 










000 


0.000 


3.559 


7 


110 





000 





000 





053 


0.107 





3 





000 


0.000 


2.993 




980 





000 





000 





053 


0.107 


1 








000 


2.515 


5.025 




025 





000 





053 





107 


0.107 


1 


1 





000 


2.115 


4.228 


6 


338 





000 





053 





107 


0.160 


1 


2 





000 


1 ^78 


3.555 


5 


330 





000 





053 





107 


0.160 


1 


3 





000 


1.496 


2.990 


4 


483 





000 





053 





107 


0.160 


2 








000 


1 一 258 


2.515 


5 


025 





000 





053 





107 


0.213 


2 


1 





000 


1 ,057 


3.170 


4 


225 





000 





053 





160 


0.213 




2 





000 


0.889 


2.667 


3 


555 





000 





053 





160 


0.213 


2 


3 





000 


0.748 


2.242 


3 


735 





000 





053 





160 


0.267 


3 








000 


1.258 


2.515 


3 


143 





000 





107 





213 


0.267 


3 


1 





000 


1 ^57 


2.114 


3 


170 





000 





107 





213 


0.320 


3 


2 





000 


0.889 


1 ^78 


2 


667 





000 





107 





213 


0.320 


3 


3 





000 


0.748 


1 1 869 


2 


615 





000 





107 





267 


0.373 


4 








000 


0.629 


1 ^72 




515 





000 





107 





267 


0.427 


4 


1 





000 


0.793 


1.586 


2 


114 





000 





160 





320 


0.427 


4 


2 





000 


0.667 


1 コ34 


2 


001 





000 





160 





320 


0.480 


4 


3 





000 


0.561 


1 ,308 


1 


869 





000 





160 





373 


0.533 


5 








000 


0.629 


1 258 


1 


729 





000 





213 





427 


0.587 


5 


1 





000 


0.529 


1 .1357 


1 


586 





000 





213 





427 


0.640 


5 


2 





000 


0.445 


1 .001 


1 


445 





000 





213 





480 


0.693 


5 


3 





000 


0.467 


0.935 


1 


308 





000 





267 





533 


0.747 



283 








9 


0110 


^ 


793 





36. 1 ! 


1 


9^8 





000 





267 





587 


0.853 


6 


1 





000 





397 





793 


1 


123 





000 





320 





640 


0.907 


6 







000 





334 





723 


1 


056 





000 





320 





693 


一 


6 


3 





000 





327 





654 





935 





000 





373 





747 


1 』67 


7 








000 





315 





629 





865 





000 





427 





853 


1 .173 




1 





000 





315 





629 





865 





000 





427 





853 


1 .173 









000 





315 





629 





865 





000 





427 





853 


1 .173 


7 


3 





000 





315 





629 





865 





000 





427 





853 


1.173 



図 …… 26 丁し (トータル レベル) (スロット ごとに 設定) 




各 スロッ 卜の 出力 レベル を 0.75^8 単位 
で 設定す る 

最大 出力 レベル を し" とすると, 出 カレ 
ベルし は 

I 0.7、 丁,、 
し : し" XI。 (―" ^~ズ 丁し) 

で 表される 



に さ/ 八 8 設定 レジスタ 



ビッ ト 配置 を 図 27 に 示します。 楽器の 場合, 音力 5 ' 高くなる ほど 音の 立ち上がり や #?1員 の 時間 
が 短くなる 傾向が あります。 この 効果 を 得る ために あるの が I く 5 で, 八& や^! する 01 尺, 
02 仏 ^只な どに はすべ て に3 による 補正が かけられます。 この 補正 量 は, にじく キー コード) 
に 依存し, (X^%4)%(2乂3—X3)) 〈X は 整数 除算,"' はべき 乗 を 表す) となります。 

八 尺 はァタ ッ ク レートで, キー オンした 直後の 音の 立ち上がり を 決める ものです。 値が 大きい 
ほ ど 立ち上が り カ堉兌 くなります。 

具体的な 数値 は, 音量が 最小 ((^ : ~96 ^ カゝら 駄 (川り冗 : 38〉 になる までの 時間 
と, 10% から 90冗 になる までの 時間の 2 通り について, それぞれ 289 ページ 以降の 表 3 と 表 4 
に 示して おき まし たので 参考 にして ください。 

なお, この 表の II 八丁 2 の 値 は, 尺 尺の 場合 は 11^ズ4十2十に3, それ 以外の ものの 場合 はレ 
ジス タ への 設定 値 を XII とすると, X 尺 乂2十に5 で 算出され る 値 を 使用し, 計算 値が 63ム让 に 
なった 場合に は 尺!? が 63 のとき の 値 を 適用し ます。 表の 左端 は ^尺 の 計算 値, その 右の 2 つの 
数値 は, 1^ を 上位 4 ビ ッ ト と 下位に 分けた と き の 値 を 示し ています。 



28.1 



サウンド 機構 



咽 …… 27 ^57^^ 



580 

\ 

59 ド 



^5 




八6 




アタック 
^8 が 

設定 


レート (に 已丫 0リ されてから 
[^となる までの 時間) の 



卜 じ による アタック, ファースト ディケイ' 
セカンド ディケイ, リリース 時間の 変化 量の 設定 
各 設定 値の レー ト に 対し 



^0 
4 



2《 



を 加える 



(ただし, 除算 時の 小数点 以下 はすべ て 切 り 捨て) 



0-0)7 



八! ^5-51X1/01 8 設定 レジスタ 



ビッ ト 配置 を 図 28 に 示します。 八] ^3-2^1 は 乙? による 20 の 変調 を かける 力 否か を 決め 
る もの です。 , 1 'を 書き込む と 変調が かか るよう になり, ,0 'で 通常 ど お り の 動作 となります。? 
への 変調 は, チャンネル 単位で 決められて しまいます 力、 26 への 変調 は, この ビッ トを 使って 
スロッ ト ごとに かける か 否か を 決定で きます。 

1 尺 は ファースト ディケイから セ カン ド ディ ケィに 移る までの 時間 を 決める もので, ^5 
によって スケーリング されます。 八 尺と 同様, 表に まとめて おきました ので 参考に してく ださ 
い。 



^ 図 一… 28 ^5-^1^/01?! (スロッ ト ごとに 設定) 



6;17 6 5 4 3 2 1 は 



舰 


-巳^ 




鬧 











し 「0 による 出力 レベル 変調 を 行う か 否かの 選択 ファースト ディケイ 時間の 設定 
1: 変調 を かける 
0: II かけない 




0-0)8 



丁 2/02 闩 設定 レジスタ 



この レジスタの ビッ ト 配置 は 図 29 のように なって います。 丁 2 は!) 丁 乙のと ころ 
でも 触れた ように, 〖じ I く? で' 決まる 周波数に 数百 セントと いう, 大きめ の 変化 を 与える もの 

です。 

02 尺 は セカンド ディケイ レートで, キ 一オンした ままに したと き ,ファースト ディケイから 
セ カン ド ディ ケィに 移った 時点から 音力ぶ 完全に 消え るまでの 時間 を 設定 します。 この 時間 も 
01 尺 同ぉ身, I く 3 によって スケーリング されます。 



》 図 …… 29 丁 2/02 只 〈 スロッ ト ごとに 設定) 



お 

\ 

ゅド 



丁 2 



028 



^ 1^ で 与えた 周波数 を 
さらに ずらす 量の 設定 



セカンド ディケイ 時間 を 設定す る 



11 
10 
01 
00 



十 950 セン ト 〈X 1.73 倍) 
+ 781 セン ト (X1.57 倍) 
十600 セン ト (乂卜" 倍) 
十0 セント 〔X 1.00 倍) 



0-0)9 01 し/ 88 



ビ ッ ト 配置 を 図 30 に 示 します。 上位 4 ビ ッ ト が 01 し, 下位 4 ビットが 尺 尺に なって いま す。 
01 し は ファース ト ディ ケィ から セ カン ド ディ ケィに 移る ときの レベル を 決定す る もので, 値が 
0~52 の ときには, この レベル は一 3X01 し ^己), 3? の ときには一 3X01 し一 48(^18) て 表さ 
れ ます。 

!?尺 はリ リース レートで', キー オフして から 音が 消える までの 時間の 設定 を 行います。^ 尺 も 
八!^ 01 尺, 028 などと 同様, 尺3 によって スケーリング されます。 

60 の 出力 波形と, レジスタへの 設定 値の 関係 をお 1 31 に 示して おき ま したので' 参考に 
ださい。 なお, この 図で はに 5 による スケーリング は 考慮して いません。 



286 



サウンド 機構 



》 図 …… 30 01 し/^^ 〈 スロッ ト ごとに 設定) 



1^0 

I 

ま 「ド 



01 し 



ぱ 



リ リース 時間の 設定 



ファースト ディケイから セカンド ディケイに 移る ときの レベル を 決定す る 
この レベル を し 01 とすると 

し。, 二 一 3X01 し (づョ) :0^01 し^まに のとき 
し "二 一 3 乂01 し一 48 (づ巳) : 01 し 二 冬 「 のとき 

となる 




07 設定 値と 0^1^ の 動作の 関係 



0?^ の 設定 値が 実際の 音声 出力 波形に どのよう に!^ する か を 数値で 示した 資料 は, 残念 
ながら 公開され ていません (メーカで も 公表す る 予定 はない とのこと でした)。 たしかに, 音 作 
りの 面から 見る と, パラメータの 調整 はあく まで も 耳で 聴きな 力 5 ' ら 行う ものであって, 出力 波 
形 を 見ながら 行う ような ものではありません 力、 乂 68000 のように, ^0?01^ も 搭載して いる 
マシンで は, 音源 用の パラメータ を 使って 八 から 出力す るな どの 使い方 も 考えら 



287 



れ ますので, 音 作り の 基本で ある オペレータの 直列 接続と, 20 の 各 レー ト の 計算:^ 去 を 個人的 
に 調べて みま した。 

以下に 示す 式 は, あくまでも 筆者が 個人的に (シンクロで 波形 を 見な 力 ぶら) 調べた 近似 式で 
あ り , 0?1\1 が このと おりに つくられ ている という こと では あ リ ません ので, 注意して く ださ 
い。 



01 オペレータ を 直列 接続した ときの 出力 波形 

オペレータ を 2 つ 直列に 接続した ときの 511^ 波形 テーブルの 出力 八 は, 

八 ニぉ!^^^ ^十" 511^ (が)) 

のように 表されます。 机 "は, 要するに 周波数で すから, これ はかん たんに 求められます 力 5 ', 
ひの 求め 方が 公開され ていないので, このまま では 出力 波形が わかりません。 実験の 結果, 各 
スロットの 出力が 丁 乙 だけで 決まる とき (八 尺が 0, 01^ 02 尺な どが^: 値のと き) に は, 

^'=10*(-0. 75ダ20乂 丁し 十 《/之) 

ここで, 6 は 自然対数の 底 (=2.71828…), '-' はべき 乗 を 示す 

とし, ひ ョ!!^^り の 計算 結果の 数値 を ラジアン 単位の 角度 データと みなして "と 足す と, か 
なりよい 感じになる ことが わかり ま した。 

IV! 1 の フィードバック 量 はよ くわ かりませんでした 力、 IX が 038 のとき に 1 (ラジアン) 
とみな して フィードバック するとよ いよう です。 たとえ ば, ? X: 3 なら , 7853 ト 3 ― 14159/4〉 
を かけ 算 した 値 をフィ 一 ドバッ ク する と, 近い 波形が 得られます。 



02 ^6の6八丁5と時間の閱係 

20 の 表の 値 は ほほ 指数関数 となって います。 。"^(((^ の アタック 時間/は, 只^ 丁 2 の 上 
位 4 ピットと 下位 2 ビット (表の 2 番目, 3 番目の 数値) を 使って 計算され ます。 上位 4 ビッ 
ト を I? 八丁 2 リ, 下位 2 ビッ ト を ^八丁 2 しとす る と, 

^ ひ01 , 202682】 I は 丁 も) X ひ/ ひ+0 一 25乂 し) 〉 X 3 ― 58/4 , 00 



サウンド 機構 



で 表されます。 その他の 時間 は, この 値に たんに 係数 を かける だけで 算出す る ことができます。 

〇?]V [の 時間の^ ^能の 限界の ために, /カズ 小さくな つてく ると, この 式で 計算した 値から ずれ 
てし まいます ので 注意して ください。 



き 表 …… 3 巳0 の 各 レート 設定 値と 時間 〈 [!〜 100 お) 



アタック 



ファースト ディケイ/セカンド 
ディケイ /リリース 



;\ドズ2十ぺ5 時間 (!^) 



ズね2十は 
蒙 4十2十 ド 5 



時間 



無附大 
無限大 
無限大 
無限大 

98637.69 
78910. 15 
65758.46 
56364.40 
49318.84 
39455.0 フ 
32879.23 
28182.20 
24659.42 
19727.54 
16439.61 
14091 ^9 
12329.71 
9863.77 
8219.81 



6164 
4931 
4109 
3522 
3082 
2465 
2054 



大大 大大。 

及 艮艮 虽 1. 



289 




- ト 設定 値と 時間 01 !〜 90 ^0 



ファースト ディケイ/セカンド 
ディケイ/ リ リース 



乂れ2十 は 
昍ズ4十2十《5 



時間 (怖) 



無限大 
無限大 
無限大 
無限大 

19942.60 
15954. 08 



6647 
5697 
4985 
3988 
3323 
2848 
2492 



03 



^3 の谷レ 



ッ ク 



時間 (口 ミ) 



大大 大大。 

民艮 艮艮 1: 

無 無 無 無! 



サウンド 機構 



3 



^ 1 八 ド 0閘 の 概要 



0?^ 音源) が 5 め カーブ や ノ ィ ズな ど を もと に 演算で 波形 を 作成す る の に 対 し, 
八 0?0\1 の ほう は 自然 音の 取り 込み や 14 生 を 行う ものです。 

入力 波形 を 定期的に サン プ リ ン グ して, その 時点での 電圧 を, そのまま デジ タ ルデー タ に 変 
換す るの 力、 じ0 などで も 採用され ている ? (:皿 方式と 呼ばれる ものです。 ?0\^ 方式で は サン 
プ リ ン グ 周波数の ほかに はなん ら 制約 は あ リ ません か ら, 波形の^ 11 生 は よ いのです が, メ モ 
リ を- 大量に 食 うとい う 問題が あ り ます。 たと え ば, 00 と 同様にす ると, 1 回 分の デー タが 16 
ビット, サ ンプ リ ン グ 周波数 44 . 1 1 くョ 2 です か ら, 1 秒で 88 . 2 ^ バイト も 使って しまい ま す。 

なんと 力、 この 量 を 減らそうと 考えられた 方法に, 前回の 電圧との 差分 を データ 化する」 
? (:!^/ [法, 前回の 変化から 次の データ を 予測し, その データとの 差分 を データ 化する 

(匿 6 ま 13 ト? じ] VI〉 法な どが あ り ます。 ^0?0^ (她 ロき 匿 ぽ 61^31 ? 国 は 

0?^IV [を さらに 改良して, 大きな 電圧の 変化に も 対応で きる ようにし, 音質 を 改善した もので 
す。 前 回の 変化が 大きい ときには 次の 変化の 幅 も 大きく, 小さい ときには 変化 幅 も 小さい もの 
と 考え, 前回の 変化の 大きさから 求められる 定数 を, 予測 値との 変化に かけた 値 を データ 化し 
ようとい う ものです。 

X 68000 では, 入力 波形から 八 0?0\1 データへの 変換 や ^!)? じ] VI データから 出力 波形の 
翻 を 行う 151 として, 沖 電気の] \151^ 6258 V という し 51 を 使^して います。 このし 51 は, 
入出力と も モノラル であるた め, X 68000 では パン ポット 制御 (右, 左, 中央の いずれから 出 
力す るか を 選択す る) 回路 を 付加して います。 

次に 1\451\1 6258 V の 胃 をかん たんに まとめて おきます。 



01 



八 データ 



6258 V は, 八 0?じ1^ [データと して 3 ビット または 4 ビットの データ を 作成し' サン 
プリ ング 2 回 分の データ を まとめて 1 バイト データ にして じ? じ とやり とりす るよう になって 
います。 3 ビット ^0?!:^ とする 力 \ 4 ビッ ト 八!)? (:^ とする か は, し 31 の ピンで、 匕 刀り 替え 
られ るので す 力、 乂 68000 では 4 ビッ ト 八 ^)?^]V [モードに 固定して 使用して います。 



02 



サンプリング周波数 



サンプリング周波数 は, し 51 の クロック 周波数の 1/512, 1/768, 1/1024 のい ずれ かから 選 
択 可能です。 X 68000 では ク ロックと して 4 ^1112 と 8 1^1-12 を 切り替えられる ように してい 
るた め, 3.9 XII 2 , 5.2 1ぐ^ 2 , 7.8 XII 2 , 10.4 ^只ん 15.6 ^11 2 の 5 禾 II 頁 を 選択で きます ひ 
1\4^2 で 1/512 のとき と, 81\4^ 2 で 1/1024 のとき は どちらも ァ. 8X^2 になる ため, 1911 
減 ります)。 1 秒 あ た り 使用す る メモリ 量 は, サ ンプ リ ン グ 周波数の 半分 ひ5 . 6 にョ 2 なら 7 , 8 
X バイ ト) になります。 



03 



八/ 0, 13/ 八 コンバータ 



1^51^ 6258 V に 内蔵され ている ^ル コンバータ (入力 電圧から デジタル データへの 変換 
器) は 8 ビット, ダ^ コンバータ (デジタル データから 出力 電圧への 変換器) は 10 ビットの 
精度 を 持って います。 矹31\1 6258 V は, 入力 データ を 8 ビットの? ^]V [データに 直した 後, 
八!)? 0^ [変換 を 行い, また 八!)? ^V [データ を 10 ビットの? ^IV [データに 変換した 後, 音声 
信号と して 出力 している わけです。 



2 八 卩 関係の レジスタ 



八 0?0^ の 制御に 関係す る レジスタ の 一覧 を 図 32 に 示 します。 6258 V カ嚼 つてい 
る レジスタに は葡氐 限の ステータス ゃコ マン ド しかない ため, X 68000 では サン プリ ン グレー 
トゃ戾 0?0\4 の 出力 切り替え を ?? 1 (8255〉 の ポート (: で, ^0? (:] V [の 基本 クロックの 選択 
を 0?1\1 の 汎用 出力^ 07 2 で 行え るよう にして います。 



292 



サゥン ド 機構 



図 …… 32 焱 [?卩じ〜 の 動作に 関係す る レジスタ 
/\0?^IVI(IVI5IVI6258V) 



ァ ドレス 


^^八 13/ 
丁 5: 


1)117 


6 




4 


3 




1 


刚 


備 考 


5692001 




^丫 


'!' 














八 0?0 [^ステータス 










お。 
51 


隠 
57 




〃 コマンド 


多 巳 92003 


傘 


031:30+1 




03 


ね。 




データ 入出力 



卩问 (ほ卩ぅさ) ポ一 ト (:/ コ ン ト ロール ヮー ド レジスタ 



ァ ドレス 


^^八 13/ 

^?!1 丁 巳 




6 


5 


4 


3 




1 




備 考 


お八 005 


ま 


隱 


隠 


? 05 








關 


, 


/^ドじ リサ ン プル レート/ 
出力 制御 


3 ヨ删 7 




ず 












03 ね 


ポ一 ト (; のビッ ト 単位での 制御 


01 3 IV! 〈 丫! ^215リ レジスタ! ^0;5 旧 は ビ 90001 に ま 18 を鲁き 込んで から アクセス する) 


ァ ドレス 

5 ビ 90003 


^巳 八 13/ 
丁 曰 


5117 
0X2 


6 

071 




4 


3 




V 


611:0 


備 考 

八 基本 ク 口 ッ ク 切 り 替え 



なお, ^0?01\1 の データ 転送 は 01^1^.0 で 行う ほう 力 3 ' 便利な ので, X 68000 では 01^ 八。 の 
チャンネル 3 を ^0?じ1\1 用 に 割 り 付けて いま す。 0]V [八 じ の 設定 方法な どに ついては 八 
の 章 を 参照して ください。 



01 



八 卩 ステータス レジスタ 



八 ステータス レジスタの ビッ ト I 己 置 を 294 ページの 図 33 に 示します。 ビッ ト 7 は, 
八 力ぶ 録音 (音声 データ 入力) ないし スタンバイ 中で ある 力、 再生 (音声 データ 出力) 中 
であるの か を 示す ビッ ト です。' 1 'のとき !错 中/スタンバイ 状態, ,0 'のとき は 再生 中で ある こと 
を 示して います。 



02 



八 卩 01^ コマンド レジスタ 



八!)? 01^ の!^ 乍 開始/停止 制御 を 行います。 ビッ ト 配置 は 294 ページの 図 34 のよう になつ 
ています。 ビット 2 力 ^ 録音 開始, ビッ ト 1 力 5 ? |^ 開始の 制御 を 行い, ビッ ト はま^ 7 再^ 作 
の 停止 を キ餘す る ビット です。 再^ 8 作 か 終了 したと き は コマンド レジスタ で 停止 をき!^ し な 
いと, 八 0?0^ は 最後に 与えた データ を 繰り返し 使用 して 音声 出力 を 行って し まいます ので, 



》 図 …… 33 八 ^^(:^ ステータス レジスタ (乐巳 92 。!) 1 ) 



^丫 

7^0 



1 : 録音 中/スタンバイ 中 
0: 再生 中 



き 図 一'' 34 八 口 コマンド レジスタ (乐 巳 920^11) 



,0, 


紅 3 丁 


? 1^ 57 


5? 



1 : 録音/再生 動作 停止 

0: II しない 



1 : 八 [^(:リ 再生 開始 

0: II しない 



1 : ;\0ド (^録音 開始 

0: II しない 



必ず 停止 コマ ン ドを 書き込む よ うにして く ださい。 

また, 停止 コマ ン ドを 書き込ん だと き, ^0?0^ の 出力 レベル は 最後の 状態の まま 保 # さォレ 
次の 巧: 生-開始 コ マン ドを 受け取った とき に 1/2 乂00 (駄 振幅の 半分) に 戻される ため, 最後 
の 出力 レ ベルが 1/2 マ00 近辺で ない と , 開始 コマンド を 与え た 直後に 「ボッ ッ」 という 音が 出 
る ことがあ り ます。 



03 



八 卩 じロ データ レジスタ 



八!)? ^]V [データの 入出力 を 行う レジスタです。 ビッ ト 配置 は 図 35 のよう にな り ます。 
八 0?^]V [データ は 2 サン プリ ング 分ず つまと めて ? 云 送 を 行います ので, 図の ように, 上位 4 ビ 
ッ ト と 下位 4 ビッ トに 分かれて おり, 下位 4 ビッ ト 力 5 ' 先, 上位 4 ビッ ト;^ 後の サンプリングで 
作成され た データに なって います。 それぞれの 4 ビッ ト データ は^ 位ビッ 卜が 符号, 下位 3 
ビット か!^ す 値 となって います。 



、 



294 



サウンド 機構 



I 図 …… 35 ^0 卩 じ〜 データ レジスタ 巳 "りお) 



03ね 门 +1 


03ね 门 





















り 十 1 番目の^ 0?0リ データ 



番目の/ ^?!:り データ 



「し 八 2 



八 85 ― 八丁 六 



極性 
1 : 負 
0: 正 



04 



ド 円 ほぉち) ポート 



ジョイ ス ティ ック 用に 使用して いる ??1 の 空き ビッ トを 使用して, サンプリング レートの 選 
択ゃ 八!)? [の パン ポッ ト 制御に 使闭 しています。 この ポートの ビッ ト 配置 を 296 ページの 
図 36 に 示します。 

ビット 3 と ビット 2 は, 八!)? ^]V [の サンプリング レート を 基本 クロックの 1/512, 1/768, 
1/1024 のい ずれに する か を 選択し ます。 2 ビッ トが' 11 'の パターン は ^ 用 扱いに なって いま 
す。 実際に 設定 してみ ると, ,01 'の ときと 同 じ 結果に な るよう です。 

ビッ ト 1 とビッ ト は パン ポッ ト 制御で', ビッ ト カ^: チャンネル, ビッ ト 1 力 5 ' 右 チャン ネ 
ルの 制御 用と なって おり, それぞれ' 1 'にす ると 出力が 0?れ ,0 'にす ると 0^ になります。 片 
チャンネル だけ 0?4 に すれば そちらから, 両方と も 0~ にす る と 中央から 音が 出て いるよ う 
に 聞こえます。 

なお, X 68000 では 8255 の ポー ト じ を 出力 ポー ト と して 使用 してい ますが, 8255 の特 |社, 
出力 ポー ト を 読み出す と, 出 力され ている データが そめ まま 読み出せます ので, 現在 設定され 
ている データ を 読み出 して 必要な ビ ッ ト だけ を 変更す る こ と がで き ます。 



295 



》 図 …… 36 8255 ポート 曰/^ !^) 



10 六 6 


104 5 


? 05 


?04 


33171|3||11@ 83 お 





八 出力 制御 



1 1 
1 
01 
00 



左右 と も ドド 
左の み 0^1 
右の み 01^1 
左右と も 0~ 



八 [^(^の サン プリ ン グレー ト切 り 替え 



1 1 
10 
01 

00 



(未使用) 
基本 ク 口 ': 



クの フ 



に8 ま!^: 

ほお !1 



: 時, 15.6 ド ダ8 洲 2 時) 
10. 化/ !1 〕 
7.81^ ! I ) 



ジョイスティック #1 コント I 
1 : 操作 禁止 
0: 通常 動作 



ジョイスティック #2: 
1 : 操作 禁止 
0: 通常 動作 



ント I 



-ル 



ジョイスティック #1 卜 リガ/ \ 
1 : ^ボタン が 押 さ れ た 状態 にす る 
0: 通常 動作 



ジョイスティック #1 トリガ 8 
1: 8 ボタンが 押された 状態に 
0: 通常 動作 



する 



05 



??| は之ちち) コントロール ワード レジスタ 



?? I は, 能 として, ポ一ト じ の 任意の ビ ッ ト を 操作す る ビット セット ダリ セット 機能 を 
持って います。 この 操作 は?? I の コントロール ワード レジスタで 行います。 ビット セット ダリ 
セット コマンドの ビット 配置 を 図 37 に 示します。 ビット 7 が' 'であると き, 8255 は ビット セ 
ッ 卜/リセ ッ トコ マンドと 認識し, ビッ ト 1 から ビッ ト 3 を 操作したい ポート (: のビッ ト 位置, 
ビッ ト をセッ ト したい データと みなして, 指定され たビッ ト だけ を 与えられた データに 変更 
します。 

むろん ポート (: は リード/ライ ト 可能です から, いったん セッ 卜されて いる データ を 読み出 
してから 八! ^10 や 01? などの ビッ ト 演算 を 行い, 再度 書き込んでも かまわな いのです が, 操作 



296 



サゥン ド 機構 



》 図 …… 37 8255 コント ロール ヮー ド レジスタ 〔^^9 パ 仰フ) 



1)117 6 5 4 3 2 1 ^0 


で' 




8 は 561 


03 ね 



8)1: 561 で 選んだ ビットに 
セッ 卜する データ を 指定 

1: ,1 'を セットす る 

0: で' 〃 



操作 したい ポート (: の ビット 番号 指定 
卜する 



1 1 1 


匕は7 に データ をセ 


1 1 


〃 6 〃 


101 


〃 5 〃 


1 00 


〃 4 〃 


01 1 


II 3 II 


010 


II 2 〃 


001 


〃 1 〃 


000 


〃 〃 



する ビッ トが 1 つ だけで あるよう な 場合に はビッ トセ ッ ト /リセ ッ ト 機能 を 使う ほつ がかん た 
ん だと 思われる ので, この 機能 を 説明して お き ま した。 



9 06 卩! VI レジスタ^ 18 



X 68000 では, ^\0?0^ のク 口 ッ クの切 り 替え 信号と して 0?1\4 (?皿 音源 し 30 の 汎用 出 
カ^ (: 丁 2 を 使用して います。 この ビッ トは 0?1\4 内の 番号 31 8 の レジスタで 行います。 レ 
ジス タの ビッ ト 配置 は 298 ページの 図 38 のように なって います。 この レジスタの ビッ ト 7 が 
クロック 選択 用の ビットで, ,0 'のとき 8 ^ぉ2, ': ['のとき 4 14112 になります。 

この レジスタ は 書き込み 専用で, 読み出す ことができな いため, システム 的に 使用す る 場合 
に は, ほかの ビッ トの 値に 気 を 配る 必要が あ り ます。 



03 サンプル プログラム 



^0?01^ の 操作 を 行う サン フ。 ル プログラム を 作成して みま したので 参考に して く ださい。 こ 
の 例で は, 31? の 連続 データの 再生 を 行わせて います。 起 8^ の オプション 指定で, 第 1 引き 
数 力 《?? I の パン ポッ ト 制御 ビッ ト (ビッ ト 0, 1〉 にセッ 卜する 値, 第 2 引き数が ??1 の サン 
プリング レート 選択 ビッ ト (ビッ ト 2, 3ん 第 3 引き数が 八!) 卩0^ の 基本 クロック 選択 (ひ:?!^ 



297 



図 一… 38 ひ?" レジスタ (レジスタ^ 0-ニ ま 18〉 




0^ 内の し 「0 の 発振 波形 選択 

ド 00 の^ \0丫 端子 制御 

1: 強制的に レディ 状態に する 
0: 通常 動作 

八 0?0^ クロック 切り替え 
1 : 4 圓 2 
0: 8 斷 

の レジスタお 8〉 に 設定す る 値です。 

この サンプル では?? I の 制御に ビッ トセ ッ ト /リセ ッ ト 機能 を 使って みました ので, あわせ 
て 参考に してく ださい。 

參 リスト …… 1 ム ロ?じ閜 の 操作 (お 「 の 連続 デー タ の 再生) 



ト 

ホ 八 0? (: IV [動作 テス ト 

ネ 

# ぱ では ソ0131;116 がサ ポー 卜されて いないため、 
き 次の 1 行 を 入れて 乂01 311 16 を 無効に してく ださい 
# 1(1611116 乂013106 

#1110111(16 ^051 15. ヒ〉 
5111101 ! 31^1^0 | 



111131^6(1 


01131 


08^ ; 


1111512116^ 


ま 0ず 


06「 


111151^16(1 


3110 は 


81)0161 ; 






^01; 


1111818116(1 


あ!" 


001; 


1111318116(1 


01131 




1111818116(1 


01131 


001 '; 


1111518116(3 


81101*1; 


3133162; 


1111312116(1 




11110 ; 



サウンド 機構 



1111318116(1 


^1 


水 露; 


111131^6(1 


10118 


8? & 163; 


111151^116^ 


01131 


^^^!; 


1111518116(1 


311011; 


51)3164; 


1111512116(1 




51;0; 


1111312116(1 






111151^6^ 


10118 


51)31*65 ; 


111151^116(1 






1111518116(1 


ぁ『 


11^; 


111131^6(1 


011211 


令 ^ 
レ 


111131^6(3 






1111318^ 




^ 一 

ュ 


1111318116(1 


01133: 


111^0 ; 


1111818116(1 


811011: 




1111318116(1 


01131 


5^)31610 ; 


1111318116(1 


01131 




1111512116(1 


811011 


51)31:611 ; 


1111318116(1 




3^1^612 ; 


1111512116(1 


01131 


はれ; 


111131^6(3 




3^31613 ; 


11115181160 


8ヒ01^ 


3? & 1614 ; 


1111812116(1 




5^1615 ; 


111151^6(1 


01121 


ま; 


1111518116(1 


10118 


3? &!' 616 ; 


1111318116^ 


あ! 1 


8^1617 ; 


111131^6(1 


01131: 


がで; 



ソ〇1れ116 5111101 画お 

乂0131:116 111151^116(1 01131 

乂0131:116 1111518116(1 

乂〇12セ116 111151^6(1 き!" 

乂〇131116 1111518116(1 0^131 

乂01さ1:116 111131^6^ 

ソ0131:116 111151^116(1 01121 



本 き: 

^!.^!; I、 
^0?111^162110; ト 
%^%^^\ 1^ 
^3(1 130111.00111111311(3 
^3(1 口 0111—3131: 115; 
^3(1 130111^31:3; 



8255 コ ン ト 口一 ルヮ一 ドレ 

0?! ^レジスタ 番号 設定 レジスタ ネ/ 

,データ レジス 夕 乂 I 

1\ 八!)? 01 コ マン ド レジスタ V 
I、 400?01 ス テ 一タス レジスタ V 

ト 汕?01 デ一タ レジス 夕 丰/ 



#^6! 1116 匿 5128 0x400 

1111312116(1 01131 1X1111)1^ 〔811 卩 5 1 21 ミ]; 
乂01ヒ ま") ; 

乂。^ 01631:6^3(11)0111(1313 ; 
乂^^^ 3(1^)0111.0111561 ; 



299 



ゾ。^ 3(^13 卿 16 ; 

乂。" & ^0111.0 11(361 ; 
701(1 & ま! 一 まり。 ; 
ソ01づ 3(1130111.81:311 ; 
701(1 ^1113^861 11^0 ; 
、/。は は抓 &ー 31:31*1:0 ; 
乂则 ^31 1.00^1616 ; 

ソ!^^ 16 & ^ 1^80 ; 

乂。" 0131 II (^! 1 ^, ^!^) 
1111 31*80; 

1111812116^ 111^ 1 , 口 311, 3311^)1 6, 1 お ; 
け 〈31^ 〉: 2〕 

ロ^! 二 3101 (さ!"^/!^]) ; 
6156 卿 二 0; 
け (おが ゝ: 3〉 

5 & 111? 16 二 3101 、31^乂〔2」〉 ; 
6156 53111^16 二 0; 
1 で 120 ン 二 ^ 

0は 二 3101 ",门]) ; 
6156 011^ 二 0; 
邪?^^) ; 



叩し , 
口 

3(1^)0111^00111111 & 11(1 

3(1 卿 一 331:3 



(れでひ は 醒 ^ 0x684000 

^1111818116(1 01131 ^(^^甘さ!^了 
(咖 1-8116 づ 01131 ネ) 0X690001 
(ひ^なひぉ 01131 幻1^690003 
(じ!!が^^ づ 01)31 ネ) 0X692001 
(!!^は!^づ 01131 り0乂692001 
(リ!^な!^づ 400x692003 



3(^111—31:01)0 ; 

016316^(1^0111(1 & 13 (^!^!)^, 811卩3122〉 ; 

3(1 口 0111—0111:561 〈1)310 ; I、 ? 3111)01 00111101 、1 

^卩^— 531111)16 (^爪ロ化) ; I、 331111311112 ひ1:6 共 I 

^が化— 011(561(0110; I、 0100^ V 

^1113^861:1113 ; 
(!髓— 31; ま ; 



300 



^31 1^00015)1616 ; 
3(11)0111^8 1:05)0 ; 



乂。^ 01631:6^3(11)0111(1 & 1^(1)11 !", 161)8110 
111151^116(1 0^3.1 ; 
1111512116(1 11)1 161^111: 

^111 1 6(1611^1: !!") 

れ11 ぞ 十十 二 0x11:; 



乂01ヒ & 111)0111—0111:361 (おり 

111)512^16(1 1111 561 ; 

^1.0*1 : 〈0 《 !) | 
4:^1^0^1 二 (丄 くく !) | 

乂!^^ ^^1I)^II1 - 52II1I)16(I , & 1:6) 

1111512116(1 1111 ^316; 



ひ361 》 & 0; I、 16^1 

厶61 & !); I、 81ま 



^1)1.0*1 : 〈2 くく !) | (ひ" 6 〉〉 !) & 0; 
ゅリひ耵 : 〈3 《 !) I ひ316 & !) ; 



ゾ。" ぉ?⑩ 一 011(861 (犯リ 

1111812116(1 1111: 361 ; 

ネ 0ぉ1!1ー 『68110 二 0x15; 

キ0既 (!ま ^ "引 & 1〉 《7; 

^3(1130111^00111111311(1 二 0x1; 



^3^^0111^00111111 & 11(1 : 0x2 



ゾ。" (^さ— 361111)0 

づ鼢-^^ : 0x80; 
(!腿 -〉 。。1 : 0x32; 

^1113 —〉 50 !" 尸' 0x04; 

(^-〉"]: 二 0x00; 

は13 —〉 (^卜 二 0x08; 

(!^^")!!!^ ^ 0x05; 
さ-〉 (! な こ 0x05; 

は 013-〉ま : 8願22: 

^1113 一〉 爪3 !" 二 口 01111311 ぞ ; 
乂。^ ^111^31311; 

づ!^-乂ぴ 卜 0x80; 

701(1 ^ひ 010ロ1は60 

^^(!^"^]: & 0x90 && ! ひ3か0131:31113 & 0x80)5 



^ 4 八 01^01^ データ 



八 0?0\4 データへの 変換 アル ゴリ ズムが 具体的に どのよう になって いるかに ついて 調べた 
のです が, メーカ (沖 電気) の ノウハウに 該当する ものである ことから 非公開と いう ことで し 
た。 このため, X 68000 の 八 0?^IV [データが どのよう になって いるか は 不明です。 

八!)? ^]V [について 調べて いると きに 見つけた ヤマハの 音源 151, 71\42608 (ひ?^ [八) に 内蔵 
さ れて 、 、 る 八 0?^]V [音源の アル ゴ リズム を コラム に 戦せ てお き ま すので 参考 にして ください。 



302 



サウンド 機構 

し リ^リ 

八 のァ ルゴ リ ズム (焱 ひ?。" 音声 分析の 手順) 

① 八 /!) 変換 …音声 を サンプリング レート ごとに 8ヒ 辻の? 0\4 データに 変換し ます 

② 8—16 …… 得られた? 0\4 データ を 256 倍して 16ヒ 辻の データ ; X。 に 変換し ます 

③ 加 の 算出 …この XII を予 (劍直 XII と 上ば 交して, その 差分 ; 311 を 求めます 

④ 八!)? (:^ データの 決定 

30 力 《正のと き は 八:)? 0\4 の データの] \158 (し め を' !)', 負のと き は' V 

にします 

差分の 絶対値; | 0111 | と 量子化 幅;/ /11 の 関係から, ^0? じ^! データの 

残 り 3 ヒ汁 (し 3, し 2, I !) を 決定 します 
^0?01^ デー タ の 符号化 は 表 ^ に 示す と お り です 



'表 一… み ^0 卩 じ! VI データと 量子化 変化 率 ひ) 



し 4 


し 3 


し 2 


し 1 


す 


条 

ぃ『1 


件 

れ 1/ さ门) 




(^く 















57/64 




く 1/4 












1 


57/64 


1/4 き 


I 门く 1/2 









1 





57/64 


1/2 さ 


…く 3/4 









1 


1 


57/64 


3/4^ 


I 口ぐ 1 





1 


1 








77/64 


1 ^ 


1 く 5/4 






1 





1 


102/64 


5/4^ 


I 口く 3/2 






1 


1 





128/64 


3/2 ^ 


I 门く 7/4 






1 


1 


1 


153/64 


7/4^ 





レ1± の 操作で, 音声 デー タ から ル ひ?じ!^ デー タ への 変換 は 終わ り です 

⑤ 予測 値と 量子化 幅の 更新 

^0?01^ デー タ 力 1 ' 得 られ ると, 次ス テツ プの 予測 値 ; 幻1十 1 と 量子 

ィ匕幅 ; 」11十 1 の 更新 を 行 I 、 ま す 

1: ひ 一 2乂 I 4〉 X 〈 し 3屮 し 2/2+1. 1/4+ 1/8】 X /]x^+xx1 

バし 3, 12, 乙^乂」!! :」0111111ニ 127, 刀 01113乂ニ 24576 

ネ 初期設定 : 予 測 値 XI :0 

量子化 幅 41=127 



以下, ① 〜⑤の 操作 を 各サ ン プリング タイム ごと に 繰 り 返して 音声 分析が 行われ ま す 



5〇〇 の 概要 



乂 68000 では, & 5-232 (: ィ ン タフ エースと マウス をサ ポー ト する ための 乙 51 と して, 
2 8000 のフ アミ リーし 51 である 2 8530 3じじ (シリ アル コ ミ ュニ ケーシ ヨン コン トロー ラ; 
以下, たんに 50: と 略します) を 使用して います。 
X 68000 の 30: 周辺の ブロ ック図 を 306 ページの 図 1 に 示します。 
5じじ は, チャンネル 八と チャンネル 8 の 2 つの シリアル ポー ト を 持って いるので す 力、 
X 68000 では, このうち, チャンネル 8 の 尺 丁 3 と 尺 X。 を マウス 用に 使用し, チャンネル 八 を 
85-232 じ ポートに 利用して います。 また, 50: の 持って いる 信号 線 は, !?ョ- 232 (: をサ ポー 
卜する に は少々 不足して いるた め, チャンネル] 3 のうち, 使われて いない (: 丁 5, 0じ0 を それ 
ぞれ じ1 と (:!) ライン 入力に, 01 ^を クロック 切り替えに 流用して います。 これによ つて X 
68000 では, 的な 非同期通信 だけでなく, ^(^(^^(: や: 613^1 & 30 し (: といった 同期 通 
信 も 標準で サポート できる ようになって います。 また, 303 は データに 変調 を かけたり, 変調 
さ れた 信号 か ら データと クロック を 分離す る (復調) 機能が 内蔵 されて おり, 2 の 同期 通 
信な どが 容易に 行える よ うにな つてい ます。 




500 



5ば は, シリアル伝送し 51 で, 同期通信, 非同期通信の ほか, 
データの 変 復調 ま でサ ポー 卜して います。 ここ では, X 68000 
での 300 の 使われ 方 や, 800 の 各 レジス 夕の 設定 法な どに 
ついて 説明し ます。 



305 



》 図 …… 1 5じじ 周辺 プロ ック図 



ソ^】 



28530-500 



8 丁 5 ム 
01^ 



も^ 
073^ 
000^ 
8 丁 ズひ 
7^0^ 



0~ 



—— 



^738 
5116 



0006 
^7x06 

3 丫闘 



ド ほ 



ね 



75188 



^1x0 
- 只 丁 5 
-0 丁^ 
-571 



ヽ 



75189 



- 6x0 
-015 

- 6 丁 
- 3 丁 2 



^3-2320 
コネクタ 



0~ 



75189 



-01 
~00 



ノ 




741519 



0~ 



服 甲 



〇ー 



ぼ/^ し 



-1^50 八丁み 



マウス 
コネクタ 



ノ 



(キ - 



'夕より) 



〔5 斷) 



乂 68000 の ハード 上 使用可能な 通信 モード を 次に 示します。 ただし, 乂 68000 では, 30: と 
の データ 転送に!)] V [八 力 3 ' 使用で きないた め, 転^ 31 度 は。? I; の 応答 速度に 依存し ます。 この 
ため, 実際に 利用 可能な 転 避 度 は, ここに 掲げた 数値より かなり 落ちる と 思われます。 



206 



チャンネル 八 

' 非同期 モー ド時 

キャラクタ 長 : 5/6/7/8 ビット 
ス ト ッフ 。ビッ ト長 : 1 八. 5/2 ビッ ト 
パリティ : 偶数/奇数/なし 

クロック : XI, 乂16, ズ32, 乂64 は 1 は 外部で 同期 をと る 必要 あり) 

エラー 検出 :ノ、 。リ ティ エラー 

オーバーラン エラー 

フレー ミ ング エラー 



同期 モー ド時 

バイト 指向 同期 モード (^(^(^ ゆ& 8 お, じ) 
キャラクタ 同期 : 内部/外部 いずれ も 可 
同期 キャラクタ 数 :ひ2 個 
同期 キャラクタ 長 : 6/8 ビット 
同期 キャラクタ 制御: 自謝攀 入/削除 可 
01^0 : 自動^/チェック 可 



50 し (: モー ド 
アボート シーケンス 自 動 生成/検出 
自動 ゼロ 挿 人/削除 
メ ッ セージ 間フラ グ さほ 財爭入 
ァ ドレ スフ ィール ド向動 /検出 

10^01-^031:1011 フ ィ ール ドの 端数 処理 

0110 自動 生成 ダ チェック 

50!1: ループ モー ド 時の 20? 検出に よる 自動 オン ループ/オフ ループ 



, データ 転^! 度 

非 同期 モー ド : 38 . 4 〈 X 16 モー ド時) 

^00057110/6137110 : 1.5 IV [ヒロ 5 
?] VI 符号化 方式 : 375 !^ヒ 口 5 
X 尺 21 符号化 方式 0? しし : 187 ^13?3 



チャンネル 8 

非同期通信 のみ 
キャラクタ 長 : 8 ビッ ト 
ス ト ッフ 。 ビッ ト : 2 ビッ ト 
パリティ : なし 
ボー レート : 4800 ヒロ 3 



0-1 500 の データ通信 モー ド 



ョ匚じ の サポート する 通信 モードと その データ フォー マツ トを図 2 に まとめて みま した。 

八 57110 〈 非同期) モード は, 現在, もっとも^ !ま 的に 使用され ている もので, 俗に 尺 ち-之,ぉに サ 
ポートと いう ときには, この データ フォー マツ 卜での データ 伝送 か 'サポートされ ている こと を 
ネ旨 します。 

そのほかの フォーマット はいずれ も 同期 伝送 モードです。 同期 伝送 モード は, いずれも デ一 
タの ほかに 送受信 タ イミ ング をと る ために クロ ッ ク 信号が 必要 となります。 クロックと デ一 タ 
の 関係の 例 を 図 3 に 示します。 送信 側 は, ク 口 ックの 立ち上がり に 同期して データ を 変化 させ, 



図 -… 1 500 がサ ポー 卜する デ一 タフ 才一 マット 

八 5乂00 (非同期) 



03 ね 



03 ね 



スタート ビット 



ストップビット 
《リ ティ ビット 



5 爾 



03 ね 



~\ ト 



03 ね 



0^0 1 



0^0 2 



8 ヒ乂 00 


3 獸 


5 幫 


03 ね 


~ 1 1 


03 ね 


ぽ, 


0^0 2 












― 1 \ —— 








6x1:6^1131 5 乂门 じ 
ひ68000 では 使用 不可) 






03ね 


^ \ —— 


03 ね 














― 4 1 —— 












5 丫化 (: 


よる スタート 指示 








50 し 0/40 しじ 
ズ. 25 


円 32 


八 づづ「653 


1 门干 0「1113110 门 

1 I ― 


ほ, 


0^0 2 


円38 



308 



500 

図 …… 3 同期 伝送の 動作 



クロック 
データ 







,1, 


,0, 


,0, 


リ' | で' | V 













































受信側 は クロックの 立ち 下がりの タイ ミ ング データ を 取り込む ようにす る ことで, 確実に デー 
タが 受け 渡せる よ う にす る わけです。 

データの 前に ある 5^10 や? 132 は^! の データの先頭 である こと を 示す と ともに, 受信側 

力 5 ? 窗 実に データと タイ ミン グを あわせる ために 使用され る ものです。 データの 後に 続く じ!? じ 
は, 受け取った データに エラーがない かどう 力、 を 検出す るた めの チェック コー ド です。 

これらの うち, 2x1:611131 5^110 モー ドは, データの 読み 始めの タイ ミ ングを し 51 の 5丫^: じ 

端子 を 使って 伝える ことにな つてい るので す 力、 & 5-232 (: の 信号に は 該当する ものがない こ 
ともあって, X 68000 ではし 51 の ョ丫!^じ 端子 を 外部に 引き出して いません。 このため, 
X 68000 では, この モー ドを 使用す る こと はでき ません。 
次に, これらの データ フォー マツ 卜に ついても う 少し 詳しく 見て いく ことにしましょう。 



01 



八 3^10 (非同期) モード 



図 2 では 非同期通信 モー ドの 典型的な データ フォー マツ トを 示し ま した。 データの 前に は 1 
ビッ 卜の スタート ビッ トと 呼ばれる' 'の ビッ ト 力 3 ' まず 送られ データの 後に は チェック 用の パ 
リ ティ ビッ ト, さらに 1 キャラクタ 分の データの 最後 を 示す ストップ ビッ トと 呼ばれる' 1 'のデ 
一 タカ;' 送信され ます。 パリティ ビット は 省略され る 場合 もあります。 また, ストップビットの 
ビット 長 は, 1 ビット, 1.5 ビット, 2 ビッ トの いずれ かか' 選択 可き 旨です。 

受信側で は, データ ラインが' 'になった の を 見つける と, データの 取り込み 準備 を 開始し, 
各 ビットの ほぼ 中央 (と 思われる ところ) を 順次 サンプリングして いきます。 データに 続く パ 
リ ティ ビット はデー タ の 10111 生をチ エックす る ための 1 ビット のデー タ です。 ノ 、。リ ティ に は, 
データ とノ 、'リ ティ ビット を 含めた' 1 'の 総数が 偶数になる よ う に パリ ティ ビット の データ を 決 
める 偶数 パリ テ ィ と, 奇数になる よ う にす る 奇数 パリ テ ィ が あ り ます。 さらに, 受信側 はデー 
タ の 最後 を 示す ス ト ッ プビ ッ ト が あ る の を 確認 します。 もし, ストップビット が あ る はずの と 
ころで' 'か 1 壳み 出された 場合に は エラー (フレー ミンク 'エラー) となります。 



309 



02 



1\^0005\^10 (モノ シンク) モード 



1^00057110 モー ドに かぎらず, 同期通信 モー ドで' は, 送受信と も クロ ッ ク 信号に 同期 して デ 
ータの 出力/入力 を 行います。 このため, データの ほかに クロック 信号が 必要と なり ます 力 5 ', 
7\37110 モー ド時に 1 キャラクタ ごと に 付加 されて しまう スタート ビッ トゃス トツ プビ ッ ト と 
レ 、 つ た 余分な デー タ が 不要で あ る ことから, 効率の よ レ 、伝送が 行え ま す。 

フレーム (—;! の データ 列) の 最初に は 57^ じ (同期) キャラクタと 呼ばれる 同期 用の デー 
タ が, 最後に は (: 只 じ コードに よる チェック デー タ 力、' 付加 されます 【5 丫^ [じ キャラクタ データ 

は 巳じじ の界 II 7 レジスタに セッ ト した 1 直が 使用され ます)。 

同期通信 モードで は, 八 3^10: モードの ような, 1 キャラクタの 魁 貝^ II 後 を 示す データ パタ 

ンは 存在し ないた め, どの ビッ トが データの- 最 初で あるの か 見分け カズ つきません。 このため, 

5^^0 キャラクタ という 特別な データ パタン を 用意 してお き, これ を フレームの 先頭と して 認 

識 する ようにす る わけです。 

500 で ^0005 乂 IX モード を 使用す る と き に, データ を 読み 始める と き や データ を 取 り そ こ 

なった 場合な ど, 同期 をと り 直す 必要が^ じた 場合に は レシーバ を ハン トモ 一 ド にします。 

3じじ は, この モー ドに 設定され ると, 5 丫 ^(: キャラクタ パタンと 同一の ビッ ト パタン 力 5 ' 見つか 

る ま で 侍ち 続け, 一致した ノ 、'タ ンが 受信で き た 時点から 順次 デー タ の 取 り 込み を 開始 します。 



03 



815乂门0 (バイ シンク) モー 卜 



8 お^ 10(81113 ひ 5^0111-0110115 ^0]11111^1111^31;100) は 181^ か 提唱した 通信 方式で', メ ッ セ 
ージの フォー マツ トは ミ丫リじ キャラクタが 2 つに なった ほか は] \10110^11 じ とよ く 似て いま 
す。 図 4 に ^ぉゅじ メッセージの フォー マツ ト例を 示します。 最後の ^(:じ は 810吐 01601^ 

0x16 の 略で, 先 ほど 掲げた 図で は (:!^ として 示される ものです。 503 や 3 丁 X など は, 制 
御コー ド として 割り 当てられ ている データ を 指します。 これらの 制御 コー ドのー 烷を図 5 に 示 
してお きます。 

813^00 では (^(^(^ ゆ じ でも 问 じ), 5^1^ などの データ 制御 コー ドを 特別な データと して 
扱う ため, テキス トの 中に これらの データが 入り込む と, それ を テキス ト と して 受け取れ ばよ 
いの か, 制御コード として 処理すべき なのか 区別で きなくなります。 つまり, このままの フォ 
一 マットで は バイナリ データ (音声, 両像 データ, 実行可能 ファイル など) の 送受信 は 行えな 
いこと になり ます。 



310 



500 



4 815^110 メッセージ フォー マツ ト 



3 丫リ 



5 丫!^ 



304 



'ダ 



3 丁 X 



70(7 



800 



図 …… 5 伝送 制御 キャラクタ 例 



符号 


値 


名 称 


意 味 


501-1 




3 ねけ 01 


ヘディ ング 開始 


5 丁 X 


502 


5131-1: 0で 丁 6X1 


テキス 卜 開始 


&丁 X 


^03 


[!^ 01 丁 6X1 


テキス ト 終結 


巳 丁 


304 


已閭 01 


伝送終了 


聞 


ま 05 


巳 ^(^山 「V 


問 い 合わせ (相手 局 か ら の 応答 要求) 


;\ぼ 


ま 06 


八 〇 ぺ门 0が16づ86 


肯定応答 


し已 


お 


03ね し 1 门に ^503(36 


伝送制御拡張 


[^ド 


115 




否定応答 


3 州 


お 6 


3 丫^) ±「0110 リ 5 1^)6 


同期信号 


に 丁 8 


^17 


己 0(1 干 丁 「3 门 5171155!011 
8100^ 


伝送 プロ ック 終結 



[では, これに 対処す る— か 法と して, 制御 データの 前に!) し 2 は 10〉 を 挿入す る 方法 をと 
り ま した。 この モー ドは 透過 伝送 モー ドと 呼ばれます (バイ ナ リ データの 伝送に 対応して いな 
いほう は 通常 伝送と 呼んで いるよう です)。 この モードで は, たとえば, 5^1^ は^) は 0し2 
5丫ド は^化) という 2 バイ ト データに なって 送られます。 310 という データ を 送りたい とき 
に は し 2 310 (れり川) という 2 バイ ト データに 変換す る ことで 対処し ます。 透過 モードで 付 
加/削除 される 0し2 コード は (: 尺 (: の 計算に は 含めない ことにな つてい ます。 

50: の 8;5 乂^ モー ドは 透過 モー ドをサ ポー ト していません ので', 透過 モー ドを 使う ときに 
は (:?リ で し 2 の 挿入/削除 や (:!^: 計算な どの 処理 を 行う 必要が あ り ます。 



04 ^1:0^31 5^10 〈 外部 同期) モード 



外部 同期 モー ド では, データの 開始 位置 を ^。!^ョ刃冗 や 8 ぉゲ! ^のよう なネ # 朱 データで 認 

識す るので はな く , ハー ド 的に は丫!^じ^ で) 制御して もらうよう になって います。 すでに 



311 



述べた よ う に, X 68000 では 50: の 5?!^:^? "を 使用 していません ので, この モー ド での 伝 
送 は 行えません。 



05 50 し モード 



1\40005700 や 8 お によつ て 伝送で き る デー タ が あ くまで も バイ ト 単位で あ る の に 対 し 
て, 501^: はビッ ト 単位での 伝送 を 考慮した モードで あり, 任意の ビッ ト 数の 情報の 伝送が 行 
える ようになって います。 

図 6 に 50 乙 (: メッセージ フォーマット を 示します。 などで は , し 2 や 3 VI ^など を 
牛雜 な データと して 扱って いました が, ビッ ト 単位の 伝送が ^ である ョ!^じ では, そのよう 
な 方法 はとれ ないた め, ,1 'が 6 っ纖 する データで ある' 01111110 'の 8 ビッ ト データ を フレー 
ムの 勉1 と 終了 を 示す フラグ データと して 用い, それ 以外のと ころで は, ,1 'が 5 つ 〕ぁ较 すると, 
^ を 挿入す るよう にして います。 

受信側で は, 丁が 5 つ 続いた 後に' 'がきた 場合に は その' 'を 削除 し, 丁が 6 つ 連続して き た 
場合に は フラグと みなす ことで, データ を 誤って フラグ だと 思い込んだ りする 恐れが な く な り 
ます。 

アドレス フィールド は, 送信 側が 指定 した 受! ^ 目 手の 番号 を 示す も のです。 501.0 は, 1 対 
1 の データ 伝送 だけでなく, 多くの ステーションが 同一の 伝送 ライン を 使用す るネッ ト ワーク 
環境 を 想定して います。 このような 環境で は, 伝送す る ネットワーク 上の, どの ステーション 
に データ を 送りたい のか を 明示す る 必要が あ ります。 50乙じ では, 各 ステージ ヨンに 8 ビット 
の 番号 (アドレス) を 振り, 送信した フレームが どこ あての ものである のか を 明示して いる わ 
けです。 ァ ドレスの 値のう ち は グロ一 ノく ルァ ドレスと 呼ば^ ^ 巧 寺定の 相手に コ マン ドを 
送る ために 使用し ます。 

制御 フィ ール ドは 転送 フレームの 番号 や フレームの ネ 18リ を!^ !1 する ための データで, データ 
長 は 8 ビッ ト 固定に なって います。 

イン フォーメーション フィールドに は, 実際に 送受信す る データ 力 3 ' 入って います。 この 内容 
は なんら 規定 はなく, 総ビッ ト数も 任意で かまいません。 

ィ ン フォー メ ーショ ン フレームの 後に 付加され る ? じ 5 0^31116 0\1^ 56^^^16I1^6) は 16 

ビッ 卜の (:!^: データで, フレームの 内容 力 5 ' 正しく 受信され たか どうか を チェック する ための 
參図 …… 6 50 し (: メッセージ フォーマット 

や 



フラグ 



アドレス 

18 1:10 



制御 

(むけ) 



情'' 報 

I 门化 「巾31;00 
~ ^ —— 



1^05 

ぃ6 々は) 



フラグ 
^1111110, 



312 



500 



ものです。 (: & (: の 計算 方法 は 1艰顧 も あるので すが, 5011: では (; 尺 丁丁 方式と 呼ばれ 
る 方; 去 をと つてい ます。 巳じじ では, VII 5 の ビット 2 を' 'にす る ことで, (:!^:-じ;^ 丁丁 方式 
で (:尺 じ の 生成/ チ エック 力 5 ' 選択 されます。 



06 



50 し ルーフ モード 



5011: ループ モー ドは, 通常の 50乙じ を 少し 拡張して, 1 つの 親局 (コ ント ローラ: 1 次 局) 
の 下に 多数の 子局 (セ カン ダリ : 2 次 局) かォ妾 続され 1 次 局 力り レープ 上の すべての データ 伝 
送 を 制御す るよう な 用途に 適する ようにした ものです。 巳!^じ ループ モー ドの システムの 構成 
例 を 図 7 に 示します。 

ミひしじ ループ モードで は, メッセージ は 一度に 全局に 伝えられ るので はなく, ループ 上の 各 
局 を 巡回して いきます。 2 次 局 は 送られて きた メッセージ を 受信しつつ, 次の 局に メッセージ 
を 渡して いきます。 

2 次 局に よる メ ッ セージの 送信 はいつ でも 行える わけで はなく, 1 次 局からの メ ッ セージ 送 
出 許可が あ つたと きに 限られます。 1 次 局 は, 2 次 局が メッセージ を 送出しても かまわな いと 
きに は, 20? 0^ ? 010 と 呼ばれる 特殊な データ ぐ11111110ゥ を 送出し ます 001.0 
と同樣 5011: ループ モードで も, 通常の データで は' 1 'が 5 つ 続く と' 'を 自動 勺に 揷入 します 
から, 20? データが データ 中に 偶然 検出され る 恐れ は あ り ません)。 2 次 局 は 20? を 受け取つ 
たと き, も し 送出したい メ ッ セージが あったなら, 20? の 最後の' 'を' 1 'に 変更して 送出した 後 
に 自分の 送出したい メ ッ セージ を 送出し, 最後に 20? を 付加し ます。 何も 送出したい メ ッセー 



暇. 



50 しじ ゾ レープ 




313 



ジ がない 場合 は 通常 どおり, ただ 受け取った メ ッ セージ を 隣り に 送り 直す だけです。 50 し (: ル 
ープ モー ド では, データに 1^821 や?] V [変調 を かける こと もで きます。 



0.2 ポー レート ジェネレータ 



500 は, 内部に ボーレ 一 ト ジェネレータ と 呼ばれる, 伝送の ための 挪 ク 口 ッ ク作成 回路が 
あり, 任意の 伝 皿 度 を 選択す る ことができる ようになって います。 ボーレート ジヱネ レー タ 
に は 16 ビッ 卜の レジスタが あります。 この レジスタへの 設定 も 直]^ と, ボーレート ジェネレータ 
から 出力され る 周波数 チ の 関係 は, 500 の ? 端子に 与え られ ている 周'; 緩 は 68000 で 
は ろ!^!!カ を? (: とすると, ぞ:?じ/はズ (べ+之)) となります。 

この 出力 周波数が 実際の 伝送 レー ト と 一致す るの は, 同期通信で データの 変!^ 能 を 使わな 
いとき だけで, そのほかの 場合に は タイ ミン グを とったり, 変調の かかった データから データ 
と クロ ッ ク への 分離 を 行つ た りする ために, 伝^! 度 (単位 : ヒ 口 3〗 の 16 ^ 32 倍 #8 の 高い 
周波数 力 5 ' 必要と なります ので', ボーレ 一 ト ジヱネ レー タ からの 出力 周波数 も それ を 考慮して 決 
める 必要が あ り ます。 

たとえば, "^如 勺な 非同期 モードで は, データが どの タイ ミン グで 入って く るか わからない 
ため, 500 は 実際の 伝^ 2 度 よりも 速い クロック でデー タラ イン を サン フ 。リン グ し, デー タ ビ 
ッ 卜の ほほ' 中央で データ を 読み込む ようにして います。 50: では 非同期 モー ド での サン プリ ン 
グク 口 ッ ク 周波数と 伝^! 度の 比 を 16, 32, 64 から 選択で き るよう になって います。 

図 8 に X 1 6 モード で 非同期通信 を 行う とき の 伝送速度 と ボーレート ジェネレータの 設定 値 
の 関係 を まとめて おきました ので 参考に してく ださい。 乂68000 では, クロック 力 《51\4112 と 
半端な 値で あ る ために 公称 伝;^ 度 と 実際の 伝^! 度に は 若干の ずれが 出て I ゝ ま すが, 非同期 
通信で は 1 キャラクタ ごとに 同期 をと り 直して いるよう な ものな ので, 2 バー セン ト 以下の ず 
れ であれば, まず 問題に なること は あ り ません。 



データの 符号化 



500 は, 4111 頁の 符号 ィ匕手 8^ を 選択す る ことができ るよう になって います。 それぞれの 符号 
化に よる データ ラインの 勅き の 違い を 図 9 に 示します。 

は, データの' 1,, で 'がその まま 出力の' 1,, ,0 'に 対応す る もので, もっとも^! 如 勺に 使 
用され ている ものです。 

V 尺 21 は, データが' 'のとき に 出力が 反 車 云し, 1 'のとき は 反転 しないと いう もの, ヌ] VII は 



314 



500 



図 …… 8 ボ一 レート ジ ヱ ネ レー 夕への 設定 値 (参考) 



公称 伝送速度 


ボーレート ジェネレータ 

八 め ミル"^ ゾ; & 
への^ 疋 1 匿 


実際の 伝送速度 


公称 値 と の 比 


38400 


2 は 0002〕 


39062.5 


1,017 


19200 


6 は 0006〉 


19531.3 


1.017 


9600 


14 ^000 に) 


9765.6 


1.017 


4800 


31 は 0011^ 


4734.8 


① 
00 


2400 


63 (ま [^ド) 


2403.8 


1.002 


1200 


128 (ま 0080〕 


1201.9 


1.002 


600 


258 ^01025 


601.0 


1.002 


300 


519 (お 207〕 


299.9 


1.000 


150 


1040 (本 0410〕 


150.0 


1.000 


75 


2081 は 0820 


75.0 


1.000 



ネ クロック モード X 16 のと きの 値 



9 5じじ がサ ポー ト する 符号化 モー ド 



隱 



閱 



剛 



ド! ^10 



画 (: ["! 巳 5 丁 ぼ 



リ, 


'ド 


,0, 




リ' 1 


つ' 

















リ^師 

で' 二 し 



1 = 非 反転 

0, : 反転 




ビット 中央での 変化 あり 
II なし 



1, 二 ビット 中央での 変化な し 
0'ヰ I! あり 



0153 丁 印 は, 0? ししな 「化 



パ— バ を^^ モ一 ドに すると 復号 でき る 



315 



データが' 'の ときには ビッ トの 境界で, ,1 'の ときには ビッ 卜の 境界と 中央で 出力 を 反転させる 
手法, \10 は?] VII と は 逆に' 'のとき にビッ トの 中央で' 反転させる ようにした ものです。 
1^112 以外の 符号化 データ を 受信 するとき は, 入力信号から データ を 取り出す (復 号) ために 次 
に 述べる 0? しし 回路 を 使用され ます。 

また, 特今朱 な モードと して, 50: の レシーバ を!^ 尺 21 モード (, 尺 10 の ビット 5, 6 を 利 
用), を?] V [モード (,尺 14 の ビット 5, 6, 7 を 利用) にす る ことで マン チヱ スター 
符号 を 受信す る こ とがで き ます (送信 は 不可)。 

1^尺2 以外の 符号化 デー タ を 受信す る 場合に は, によって 入力信号 か ら デー タ に 同期 
した クロック を 作成し, データと クロックの 分離 を 行う ことができます ので', 伝:^! 度が ある 
禾號 わかって いれば, 外部に クロ ッ ク 分離 回路な ど, 復号 化の ための 特別な 回路 を 付加す る必 
要は あ り ません。 



^ 卩 しし 



5じじ は 内部に 。?乙!^!) おね 1 ? 11336 100^6 し 00^ 回路 を 内蔵して おり, 特別な 外部 回 

路を 付加せ ずに, 1^1?21 や?] V [変調の かかった データから クロ ッ ク と データ を 分離す る ことが 
でき るよう になって います。 0? しし の 基本 ク 口 ック は, ^尺 21 変調 データ を 扱う と き に は 伝送 
艇 (単位 : ヒ が) の 32 倍, ?] VI 変調 データの 場合に は 16 倍の 周波数 カぜ、 要と なり ます。 

0? しし は, 入力 波形の 変化 を とらえて, 自分の サ ンプ リ ン グク ロック 力ぶ 正しい タイ ミン グに 
なって いるか どうか を 常時 チ エックし ており, ずれ 力 《 生 じた ときには サンプリング クロック を 
1^ して データの 伝; ^ 度に 同期す るよう にして います。 これによ つて, 送信 側と 受信側での 
伝^度の ずれな どが あっても 正しく デー タ カ 《 取 り 出せる ようになって います。 



5 ローカル ループバックと オート エコー 機能 



ローカル ルーフ 。バッ ク は 送信した も のが その ま ま 自分で も 受信され る 動作, オート エコー は 

受信 さ れたデ 一 タを自 動的に 送信す る 動作の こ と です。 そ れぞれ の 動作の 概要 を 図 10 に 示 し 
ます。 これらの モード は 非同期, 5^^0 1 50 し (: のい ずれの モードで も 使用す る ことができ ま 
す。 

ローカル ルーフ 。パ -ック では, レシーバ-は トランス ミッタと 直結され たとえ オート モードに 
プログラム していて も, 。じ!) 4^ は レシーバの 謝 乍 制御 信号と して は 動作し ません。 



316 



500 



》 図 …… 10 口 一力 ルルー プバ ックと オート ェ: 



000 



ド ズ0 



7x0 



013 



受信 イネ一 ブル 



ン 一 



トランス ミッタ 



送信 イネ 一 ブル 



ローカル ループバック 



000 



ん0 



受信 イネ 一 ブル 



7x0 







レシ一 バ 
















トランス ミッタ 





0X3 



送信 イネ 一 ブル 



オート エコー 



オート エコーで は, 尺 乂0 から 受信され たもの 力 5 ' そのまま 丁 X。 に 出力され ます。 トランス ミ 

ッタの 出力 は 切り 31 されて しまい ますので, オート モードで あっても' (: 丁 5 端子 は トランス ミ 
ッ タ の 動作 制御 信号 と し て は 動作 し な くな り ま す。 



6 1 割り込み 



50: の 割り込み 発生 要因 は, 各 チャンネル ごとに 4 種 II ずつ 持って おり, それぞれの 要因 ご 

とに 異なる 割り込み ベクタ を 生成で きます。 ^110^11681^ は, 割り込み 要因に よって' ベクタ 

のビッ ト 1 から 3 までが 変化す る モードで' 使用して おり, 発生す るべ クタ 番号 は 350 から 35 2 



317 



までとな つてい ます。 各 チャン ネ ルの割 り 込みの 極!;! は 次の 4 101 類です。 



スペシャル み コ ン ディ シ ヨン 

受信 デー タにノ 、。リ ティ エラ 一が あ つたり, ォーノ く' 一 ラ ンが 発生 してし まった よう な 場合に 発 
もします。 

受信 キャラクタ 有効 

データ 力 5 ' 受信さ^ 受信 バッファに 有効な データが 入った ときに 発生し ます。 割り込みで 受 
信 を 行う 場合に は, この 割 り 込みで 受信 バッ ファ から データ を 引き取る ようにし ます。 
送信 バッファ 空 

送信 バ ッファ に 入って い たデー タ に 空 き がで きた こと を 示します。 割 り 込み を 受けた ら, 次 
のデー タ を 送信 ノ 《ッ ファ に 書 き 込む ようにし ます。 
ま (外部/ステータス) 変化 

!^- 232 (: の 制御 線の 変化 や ミじじ 内部で 発生した ステータス (送信 アンダー ランな ど) な 
ど, 他の 3 種の 割 り 込みに いずれに も 該当 しない 割 り 込み 要因 は, すべて この 割 り 込みに な り 
ます。 こ の 割 り 込みが 発生 したと き は!? 尺 で 具体的な 要因 を 知る こと がで きます。 



07 500 の レジスタ 



X 68000 における 50: の ポート アドレス を 図 11 に, レジスタの 一 1 II を 図 12 に 示します。 
5じじ は, 独立した 2 つの チャンネル を 持って いるた め, ボート アドレス も それぞれ 専用に 持つ 
ています。 このうち, コマンド ポート ^298001, 3298009 は 30 じ 内部の レジスタの ァクセ 
スに, データ ポート は 298003, ?^^り。?) は 実際に 伝送 を 行う データの 入出力 を 行うた めの ポ 
ート です。 

500 内部に は, 図 12 に 示す よ う に 書き込み 用の レジスタ が 16 本, 読み出 し 用の レジスタ が 



き 図 一… 11 5じ0 ポート アドレス 



ァ ドレス 


5;1 7 6 5 4 3 2 1 5)1 


備 考 


本 曰 8001 




チャンネル 8 コマンド ポート 


お 98003 




チャンネル 8 データ ポート 


お 98005 




チャンネル /^コマンド ポート 


串 日 98007 




チャンネル 六 データ ポート 



318 



500 



図 …… 12 500 の レジスタ 一覧 



レジスタ 


レジスタの 機能 


柳 


じお の 初期化, 5^ の 初期化 コマンド, アクセス する レジスタの 選択 


職 1 


送受信の 割り込みの 設定 


驚 2 


割り込み ベクタの 設定 


^ 3 


受信 動作 パラメータの 設定 


柳 4 


送受信 動作に 関係す る パラメータ の 設定 


柳 5 


送信 動作 パラメータの 設定 


柳 6 


同期 キャラクタ し のァ ドレス 設定 


戮 7 


〃 ズ 50 IX の フラグ 設定 


^只 8 


送信 バッファ ^5980071; チャンネル 70, ま [98003 ( チャンネル ョ) と 同一) 


柳 9 


(^リ への 割 り 込み 発生 制御, 5^ の リセット 


则10 


トランス ミ ッタ /レシーバの 各種 制御 


^11 


クロック モー ド 制御 


^12 


ボーレート ジェネレータ ゅ13: 上位, 612: 下位) 


柳 13 




^14 


0? しし 動作 モー ド 等の 設定 


圆 15 


外部/ステータス 割 り 込み 発生 許可/禁止 制御 


65 


送受信 ノ く ッファ や 制御 端子 ステータス 


叩 1 


スペシャル^ (コンディション ステータス, 端数 コ一 ド 等の 読み出 し 


昍 2 


割り込みべ ク タ (チャンネル ^驟 2 への 設定 値, チャンネル 8: 最後に 発生した 割り込み ベクタ 番号) 


只0 3 


ペン ディ ング されて いる 割り込み 要因の 読み出 し (チャンネル/ \ 側 のみ 存在す る) 


服 8 


受信 バッファ (ま 曰 ミ。。?; チャンネル 幻, まに 98003 〈 チャンネル ョ) と 同一) 




「[^モードでの リ;551 叩 0100^ 1 30 し (: での 動作 ステータス 等 


ぱ 12 


| ボ 一レート ジェネレータへの 設定 値 0/^1 2/7^1 3 への 設定 値) 


服 13 




ぱ 15 


柳 1 5 に 設定 し た 値が 読み出 される 



319 



9 本あります カズ, これらの レジスタ を アクセスす るのに コマンド ポート 1 つ だけです ませられ 
るよう に ミじじ では 少々 変わった 方法 を 使用して います。 

30: は, 通常 レジスタ 番号 の レジスタ (,な や!?^ 0〉 が アクセス できる ようになって 
いて, これ 以外の レジスタ を アクセス する ときには 1尺0 に レジスタ 番号 を 書き込み, 続いて, 
その レジスタに セットたい 値 を 書き込みます。 書き込みが 終わる と, ふたたび,^ ゃ&& 
が アクセスされ るよう になり ます。 

このよう な 雄 を とってい ると, フ。 ログ ラム ミ ス などで 書き込み 回数な ど 力 (ずれる と, ,!? 
に レジスタ 番号 を 書き込んで いるつ もり 力、', 他の レジスタへ 書き込んで しまった りする ことに 
なり ます。 このような 心配が ある ときには, 50: のコ マン ド ポートに ダミーの リード を 行えば 
よいので す。 もし, レジスタ 番号 を 設定した 後なら, この リードに よって レジスタ 番号 がァ 
クセス される ようになり ますし, すでに レジスタ 番号 になって いるなら, 尺 尺 の 内容が" I 売み 
出される だけで 5じ じ の 動作に はなん の!^ も あ り ません。 

レジスタ 番号 8 の レジスタ (^!^呂 と !^尺^ への アクセス は, データ ポートへの アクセスと 
同じです。 直接 アクセス 力、' 可能で あるのに, わざわざ レジスタ 番号 8 を 指定して から, 読み 書 
きするな どと いう 手 間 のか か る こと をす る 必要が あ る と I ま 思 え ま せんが, 500 に はこの ような 
アクセス 方 8^ も サポートされ ています (,只 8 と 尺& 8 力 (データ レジスタ である ことから する 
と, 書き込み 用 レジスタ は 15 本, 読み出し 用 は 8 本と いう ほう 力 《 正確 かもしれ ません)。 

次に, それぞれの レジスタの 内容に ついて, もう 少し 詳しく 見て いくこと にしましょう。 



01 



顯 



,尺 のビッ ト 配置 を 図 13 に 示します。 それぞれの ビッ トの 內容の 詳細 は, 次の よう にな- 
て います。 



ビッ卜 7, 6(080 86561: 0001^13 门^) 

(:!^: チヱ ッカダ ジェネレータの 制御 を 行う のに 使用し ます。 (: 尺 (; ジェネレータ は, ョじじ の 
チャンネル リセ ッ トコ マン ドを 発行しても 初期化され ません ので, 必ず この コマ ン ドで 初期 ィ匕 
する 必要が あ り ます。 

送信 アンダー ラン/ 201\4 (送信 終了) ラッチ コ マン ドは, じ1^: 送出 制御の ために 使用され ま 
す。 の ピ ッ ト 6 が' 'の と き に 送信 ァ ン ダー ラ ン ダ201\4 力 《 発生 した (つまり, すべての デ 
ータを 送り 終わった と 見なされる) 場合, 303 は (:尺じ データ を 送信し, 尺 尺の ビット 6 を' 1, 
にセッ ト します。 これ をク リアす るの が 送信 アンダー ランダ 20]V [ラッチ コマンドです。 



320 



500 



拿 図 …… 13 ^0 



0^0 ほ 65ぉ 0017117131101 



00^1171311^ 00016 



06 & 15ね「 561601: 



300 動作 コマ ン ド 



アクセス する レジスタ 番号 



1 1 1 
1 1 
101 
100 
011 
010 
001 
000 



'卜 



最上 位 I リ 5 リセ' 
エラ一 リセ ッ ト 

送信 割り込み ペンディング ビッ トリ セット 
次の 受信 割 り 込み イネ一 ブル 
アボート 送出 

外部 ステータス 変化 割 り 込み リセット 
上位 レジスタ (只 8/^88 —1 5〉 選択 
ヌル コード (何もし ない) 



1 1 : 送信 アンダー ラン/ 〔0^1 ラッチ リセ ッ 卜 
1 0: 送信 080 ジヱネ レ一タ リセ ッ ト 
01: 受信 080 チェッカ リセ ッ ト 
00: ヌル コ一 ド (何も しない) 



ビット 5, 4, 3 ^0 10131101 

界尺 の ビット 5, 4, 3 の 3 ビット は 50^ への コマンド コードです。 それぞれの コマンド 
の 意味 は, 次のように なって います。 

111 (最上 位 I リ 5 リセット) 

サー ビス 中の 割 り 込みの う ち ^ 位の もの をク リアし, 下位の 割 り 込み 要求 を 可能に します。 
割 り 込み 処理の 最後で は 必ず この コマンド を 発行す るよう にしない と, 次の 割 り 込みが 入 つ て 
これなくなります。 
110 (エラー リセ ッ ト) 

スペシャル 尺 X コンディション 割り込み (要因 は!^ 1 の 上位 4 ビッ トで 読み出されます) 
をク リアし ます。 スペシャル^ X コンディション 割り込み カズ 発生した 場合, 30: は, この コマ 
ン ド 力;' 発行され た 時点で 割り込み 要因と なった データ を バッファから 削除し ます。 つま り, ス 
ぺ シャル 1^ コン ディ シ ヨン 割り込み 力;' 発生した 時点の デ一 タカぜ 、要な 場合 は, バッファ を 読 
み 出 し た 後で この コマンド を 発行す る ことになります。 
101 (送信 割り込み ペンディング ビッ トリ セット) 

送 儲 I〗 り 込み ('送信 バッファ 空' の 割り込み) カヾ 発生した とき, それ!^!^ 信す る ものがない 

場合に はこの コマンド を 発行して, それ!^^ 儲 リ り 込み カズ 発生し ないよう にします。 この コ 
マンド を 発行し ない まま, ^二位 1113 リセ ッ トコ マンド を 発行す ると, 発行した とたんに ふた 
たび 送 #9】 り 込みが 発生して しまいます。 



321 



100 (次の 受信 割り込み イネ 一 ブル) 

界 尺 1 の ビット 3, 4 を' 01 '('最初の キャラクタで 割り込み 発生') に 設定した とき, 最初の 
受信 処理の 中で この コマンド を 発行す る と , 次の デー タ 力、' 受信 された ときに も 割 り 込みが 発生 
する ようになります。 すでに 受信 パ-ッ ファに データ 力 5- 入って いると きも, この コマンド を 発行 
すると, 受儲 リ り 込みが 発生 します。 
011 (アポ一 ト 送出) 

50 し (: モードで, アボート ^〜ひ 個の^ II した' 1》 を 送出す るた めに 使用し ます。 この コ 
マンド を 発行す ると, 送信 バッファ は 自動的に 空と なり, ^尺 のビッ ト 6 〈 送信 アンダー ラン/ 
201^ が' 1 'になります。 
010 (外部 ステータス 変化 割り込み リセット) 

2/3 (外部/ステータス 変ィり 割り込み カ 《 発生した 場合, 割り込み 処理の 中で この コマ ン ドを 
発行して おきます。 2/5 割り込みの 要因 は, 111?0 の 該当 ビッ トが' 1 'になって いる ことで 判断 
できます。 この コマンド を 発行す る ことで, この ステータス カ^)' にク リアされ ます。 
001 (上位 レジスタ 選択) 

,尺 の 下位 3 ビッ トは 30: の 内部 レジスタの 選択に 使用され ますが, レジスタ 番号が 8 
ム 11: の もの を 選択す る ときには ビット 5, 4, 3 を' 001 'にします。 ビット 7, 6 は 通常' 00 '(ヌル 
コード) とします ので, 界尺0 にたん に レジスタ 番号 を 書き込めば, レジスタ 番号が 8 化:: の 

とき は 0)11111131X1 1:0(16 ビット は 自然に' 001, (つまり, この コマンド) になります。 

000 (ヌル コー ド) 

30: の 動作に は! ^ありません。 レジスタ 番号が 0〜 7 を 選択す る ときには, これらの ビッ 
トは 自然に' 000 'となり ます。 



11 ビット 2,1,0 (869I516「 56160^ 



次の リード/ライ ト 動作で, 50: 内部の レジスタの 中から どれに アクセスす るか を 指定し ま 



す。 この 値が' 000,~,111 'で レジスタ 番号 0~7 を 示します。 レジスタ 番号が 8 以降 ひ 
の 場合に は, 0)111111 冊 3 0x16 を' 001 'に すれば, この ビットに よって 8 ~15 力 5 ' 選択され ます。 



02 ^闩1 



の ビッド 配置 は 図 14 のように なって います。 ,!? 1 は, 送受 1891 り 込みの 禁止/許可 
などの 制御, データ 転送 モー ドの 設定な ど を 行います。 



322 



500 

図 …… 14 ^^1 



1)117 6 5 4 3 2 1 1)110 



^311/0^ 




^311/0^0 


^ 11^)7 圖6 


お 「お 15 


丁 X 附 


ビ 々 1 リ丁 


已 03匕16 


ドリ 「"! 0【, 


00 れ/丁ス 


お 6匸 00 おは 10 


& 113516 


已 03^16 



1 : 外部 ステータス 
割り込み 許可 

0: 外部 ステータス 
割り込み 禁止 

1: 送信 割り込み 許可 
: 〃 禁止 

1 : パリティ エラー を スペシャル^ コンディション 割り込みに する 
0: II しない 

受信 割り込み モード 
1 1 : スペシャルお コ^ イシ ヨン 時の み 受信 割り込み 発生 
10: すべての 受信 キャラクタ (スペシャル^ コンディション 割り込み も 可) で 割り込み 発生 
01: 最初の キャラクタ 〈 !! 】 のみ I! 

00: 受信 割り込み 禁止 

1 : 受信 動作で が /ぼ 信号 を 使う 

0: 送信 II 

1 : が/昍り 端子 は 0リム 要求 信号 と して 動作す る 
0: II 界3 け 信号と して 動作す る 

1 : 機能 イネ一 ブル 
0: 1! ディ セーブ ル 



|1 ビット 7, 6, 5(^7 860 信号 制御) 

これらの ビット は, 5じじ の 持って いる,/!^; 信号の 動作 を 制御す る ものです。 界 

信号 は 3じじ が亍ー タ 転送の 準備が で きた こと を 示す 信号で, アクセス された とき にデー タ 転 

送 準備が でき るまで :)]V [八 や (:?じ を 待たせる ゥ ヱイ ト 信号 や, 01^ ^じへの 転送 要求 信号と 
して 用いられる ものです。 乂 68000 では, この 信号 線 は 接続され ていません。 

ビッ ト 7 は, ,/^^信号の 機能 を 使用す るか 否か を 選択す るビッ トで, この ビッ トを' 1 'に 
すると 界ダ 112(3 信号 力 5 有効に なり ます。 X 68000 では がダ!^;り 信号 は 使用され ていません の 
で, この ビット は' 'に 設定し ます。 

ビッ ト 6 は, 界 /!^^^^ をゥ ヱイ ト 信号と して 機能させる カゝ, 0^ [八 転送 要求 信号と して 
謝 乍させる か を 選択す る もので, ,1 'にす ると 0]V [八 動作, ,0 'で 冒 3 〖セ 信号と して! ^乍す るよう 
になり ます。 

ビッ ト 5 は, ,/!^^ 信号 を受 《貧 動作のと きに 使用す るか, 送ィ 觀) 炸 のとき に 使用す るか を 
選択す る ものです。 ,1 'にす る と受ィ 18 力作, ,0 'にす る と送ィ II 力作に 対応して 動作す る よ う にな り 



323 



ます。 

ビット 4, 3 〈 受信 割り込み モート') 

受ィ 1*1 り 込み を どのよう な 条件で 発生 させる か を 指定す る もの です。 

11 (スペシャル?? X コン ディ ショ ン時 のみ 割り込み) 

スペシャル 尺 X コン ディ ショ ンが 発生 したと き に受儲 リ り 込み 発生と する モード です。 こ の 
モードの とき, 害リり 込み 力 3 ' 発生した 時点で 割り込み 要因と なった データ は, ,尺 に エラー リ 
セッ トコ マン ドを 発行す るまで 受信 バッファに 残った ままと なって います。 この モー ドは 
八 転送 を 利用す る と き に は 便利な モー ド なのです が, X 68000 では, 500 は 0]V [八。 に は 
接続され ていない ため, あまり 利用され る ことはないでしょう。 
10 (すべての 受信 キャラクタで 割り込み) 

乂68000 では, 通常 この モード を 使う ことになるでしょう。 データが 1 つ 受け取られる ごと 
に (:?ひ に対して 受 ##1 り 込み を 発生し ます。 スペシャル 1^ コ ン ディ シ ョ ン射 牛が 成立 すれ 
ば, スペシャル 1^; コ ン ディ シ ョ ン割 り 込みが 発生 します。 スペシャル 1^ コ ン ディ シ ヨンと 
なった 要因 は, 尺 尺 1 の 上位 4 ビッ 卜に 示されて います。 
01 (最初の 受信 キャラクタで 割り込み) 

この モードで は, 受麵作 を 開始して 以降, 最初に 受信され た キャラクタで 割り込み を 発生 
します。 スペシャル XX コ ン ディ シ ョ ン^ (牛が 成立 すれば, スペシャル 尺乂 コ ン ディ シ ョ ン割 

り 込みが 発生し ます。 

00 (受信 割り込み 禁止) 

この モード では 受 ィ貧剖 り 込みの 発生 か 禁止 されます。 じ? じ への 割 り 込み 出力 カヾ 禁止 される 
だけで, 尺尺0 の ステータス ビッ トは 割り込み 発生 時と 同様に!^ 乍し, チャンネル 8 の!? 尺 2 の 
割 り 込みべ ク タも 生成 されます ので, 0?0 は 尺 尺 や &!? 2 を チェック しながら 受 #8; 作 を 
行う ことができます。 

II ビット 2 【 パリティ エラー を スペシャル 8乂 コンディション 割り込み とする) 

ノ 、'リ ティ エラー を スペシャル & X コ ン ディ シ ヨン 割り込み とする か 否か を 選択で き ます。 1, 
のとき, ノ、 。リ ティ エラー は スペシャル 尺 X コンテ' ィ シ ヨン 割り込み 要因に なり ます。 



324 



500 



ビット 1〖 送信 割り込み 制御) 

送 儲リり 込み を 発生させる 力、 否か を 制御し ます。 この ビッ トを' 1 'にす る と 送 儲 リ り 込み 力 喟 午 
可, ,0 'で 禁止と なります。 

ビット 0(5/5 割り込み 制御) 

2/5 (外部/ステータス 変ィり 割り込み は, ^1^0 の ビット 2 と ビット 以外の いずれ かの 条 
件 か 成立した ときに 発生し ます。 この ビッ トは, この 2/3 割り込みの 許可/禁止 を 制御す る も 
ので, ,1 'のとき 2/5 割 り 込み 発生が 1 午 可, ,0 'で 禁止 となります。 



03 



霞2 



界!? 2 の ビット 配置 を 図 15 に 示します。 この レジスタ は, 50: が 発生す る 割り込み ベクタ 
を 設定す る ものです。 503 は, ,& 9 のビッ ト 力ぐ 1 'のとき, 害 リ り 込み 要因に 応じて 各 チャン 
ネル ごとに 4 つ, 計 8 種の 割り込み ベクタ を 生成し ます。 このと き, 害リり 込み 要因に よって, 
ビッ ト 4 ~6 を 変化させる 力、 ビット 3 — 1 を 変化させる か を 9 の ビット 4 で 選択し ま 
す。 

11011130 68 X では 界尺 2 に 350 を, V 只 9 の ビット 4 と を それぞれ' 0\ 丁と して, 割 り 込 
み 要因に よってべ クタの ビッ ト 3〜 1 が 変化す る モードで 使用して います。 これにより 50: 
は, 割り込み 要因に よって, お 0, 352, 354, 356, 358, おん お じ, 352 の 8 禾廳 のうち, 
いずれ か を 発生す る ことにな り ます。 



き 図 一… 15 观 1 



1)1*0 



ソ601:0「 ^リ^ 1136「 





















割り込み ベクタ 



325 



04 



顯 3 



\\^1?3 のビッ ト 配置 を 図 16 に 示します。 この レジスタ は, 受信 キャラクタの ビッ ト 長な ど受 
^^の 制御 を 行う ものです。 それぞれの ビッ トの 意味 は 次のように なって います。 

ビット 7,6 〈 受信 キャラクタの ビット 長) 

非同期 モードでの 受信 時の 1 キャラクタ あたりの ビッ ト長を 指定し ます。 57~じ モード 
0\1000 び ぼ, 8ぉ 刃 1 じ) や 30 し (: モードで は, つねに 8 ビット 単位で 受信され ます。 受信 キヤ 
ラ クタ 長 を 8 ビッ ト 以下に した 場合に は, 余った 上位 ビッ ト はすべ て' 1 'になり ます。 



き 図 …… 16 \^83 



^ は な 卜 3「國 



^リね 


匕门 1:6「 


1^ ほ 


八 づづ「655 


5 丫ぼ 0ト3に 


^ 三门 3^16 


巳 113^)16 


1-111^1 1^0 づ 6 


^^13516 


5631-0^1 リ 0づ6 


103 づ 1昍 



1 : 受信 動作 許可 
: II 禁止 



50しじ モー ド 以外の 同期 モ一 ド時 
1 : ^^と一 致す る キャラクタ は 受信し ない 
0: 通常 動作 

50 し モ一 ド時 

1: アドレスの 上位 4 お だけ を 比較す る 
0: 通常 動作 

30し0 モ一 ド時 

1: ^86 に 害き 込んだ アドレスと一 致しない 

アドレス を 持つ メッセージ を 無視す る 
0: 通常 動作 



1 : 受信 キャラクタの (:^ 計算 を 行う 

0: II わない 



1 : 同期 確立 モードと なる (同期 キャラクタ/フラグと 一致す る キャラクタ 

が 入力され るまで 待つ) 
0: 同期が 確立した 



1: 才一 卜 モード (隱: 
0: 通常 モー ド 

受信 キャラクタの ビッ ト長を 指定す る 



'で 受信 可 ^ニ 'じで 送信 可と なる) にす る 



1 1 
1 

01 
00 



8 ビッ 卜/キャラクタ 
6 II 



326 



500 



ビット 5 〖 ォ— トイ ネー カレ) 

この ビッ トを' 1 'にす ると, トランス ミッタ や レシーバの 動作が (: 丁 3 や 1)00 信号で 制御 さ 
れる よ う にな り ます。 ォー ト モー ド では, 0X5 1户 が' し ^レベルになる と 送ィ讓 乍 か赞 可に 
なり, !)。!)^ カズ' し 〜'レベルに なると 受 胃 乍が 行われる ようになり ます。 つま り, (: 丁 5 力 5 ' 
送^ 1 可 信号, 000 カヾ受 ィ11 午 可 信号 と し て 機能す る わけです。 

すでに 述べた ように, オート モードに プログラムしても, ローカル ループバック モードでの 
000 オート エコー モー ド での (: 丁 5 端子 は 制御 端子と して は 動作し な く な り ます。 

11 ビット 4 〖 エンター ハント モード) 

この ビット を' 1 'にす ると, ^:じ は 受信 データと 同期 をと り 直す モードに なり, 界 尺 6 や 
抓1^ 7 に 書き込まれた 同期 キャラクタ ゃフラ グ と 一致す る キャラクタ 力 5 ' 受信 される の を 待ち ま 
す。 一致す ると, 尺!^ のビッ ト 4 力ぐ 1 'になる とともに 2/5 割り込み を 発生し ます。 非同期 モ 
一 ド 以外に プログラム したと きゃァ ボー ト を 受信した とき, レシーバが ディ セーブ ル された と 
き に は 30: は 自動的に ハン ト モー ド にな り ます。 

ビット 3〈 受 18080 チェック イネ 一 プル) 

この ビッ ト は, 受信 キャラ ク タ を (:^: 計算 闲の データ と して 扱う か 否か を 制御す る もので 

す。 ': I 'にす る と, 受信され た キャラ クタが の 言 ナ算に 含まれる よ う にな り ます。 非同期 モー 
ド では, この ビッ 卜の 設定 は^ されます。 

ビット 2 【 アドレス サーチ モード) 

5011: モードの とき だけ 有効な モードです。 1 'にす ると, 50: は 50 し (: の メッセージ 中の 
アドレス フィールド 値と ^尺 6 に 設定した 値 をよ 激し, 一致し ない メッセージ を 無 見し ます。 
このと き, , 尺 3 の ビット 1 は丫リじ キャラクタ' ロード 禁止) を' 1 'にす ると, 50: は アド 
レス フィ ール ド の- ヒ位 4 ビッ ト だけ を] ±|交 する よ う にな り ます。 

ビット 1 は 丫! \10 キャラクタ' ロード 禁止) 

301.0 モー ド 以外の 同期 モー ド では, 500 は' この ビッ ト を' 1 'にす る と,^ 6 に 設定され 
ている 値と 受信 データ を 上匕較 し, 一致した ときには その データ を 破棄し ます。 破棄され たデー 



327 



タは (:^: 計算に は 含まれません。 

^01103^10; モードで 同期 キャラクタ 長 を 6 ビッ 卜と しても, 30: はあく まで も 8 ビッ ト単 

位での 上ヒ 咬し か 行いません ので, 注意が 必要です。 また, 815^^ モードで 12 ビットの 同期 キ 
ャラ クタ を 指定す ると, この ビットの 設定 は^! されます。 

50 乙 (: モードで アドレス サーチ モード を:; 1 択 している ときに, この ビッ トを' 1 'にして いる 
と, アドレス フィールドと 1 ^ 尺 6 の 設定 値の 上 I: 較は 上位 4 ビット だけで 行われる よ う にな り , 
上位 4 ビッ トが 一致して いる 局への メ ッ セージが すべて 受信され ます。 



|| ビット 0〈 受信 動作 イネ— ブル) 

,1 'にす ると 受 161!』 作が"! 午 可, で 'で 禁止になります。 チャンネル リセット や ハードウェア リセ 
ッ トカ 3 起こった 場合, 30: はこの ビッ トを 自動的に' 'にします。 



05 



廳4 



ビッ ト 配置 は 図 17 のように なって います。 この レジスタ は, トランス ミ ッタゃ レシーバの 各 
種 パラメータの 設定 を 行う ものです。 



|| ビット 7, 6 【 クロック/データ 転送 速度 比) 

クロックと デー タ 転^! 度の 比率 を 決め ます。 たとえば, X 16 モード を 選ぶ と, デー タ 転^! 
度 は 与え ら れたク ロックの 1/16 にな り ます。 非同期 モー ド では, X 1 以外の モー ドを 使用す る 
ようにし ます。 

ビット 5,4 【 同期 モード) 

受信 データと 同期 をと る 方法 を 指定し ます。 ビット 3, 2 が' 00〜 すなわち, 同期 モードが 選 
択 されて いない ときには これらの ビット の 設定 は 無効です。 



11 (外部 同期 モー ド) 

巳じじ の 3丫^ じ^の 入力で 同期 をと る モー ド です。 X 68000 では 已丫!^:^? "は 使用され 
ていないので, この モード は 使用で きません。 



328 



500 



17 



0100^ 1^0 づ 6 



3 丫门 咖 6 



570? 811 



? 3「1て 乂 
[き /。お 



? 3^ 
^3616 



1 1 
10 
01 
00 



1 : ノ、 。 リ ティ あり 
0: 〃 なし 



1: 偶数 
0: 奇数 

ト 2 ビッ ト 
1 ,5 〃 
1 〃 
なし (同期 モード) 



1 1: 外部 同期 モード ひ68000 では 使闱 不可) 
1 0: 50 し モード ぐ01 11 11 10 'が フラグ) 
01: 16 ビット 同期 キャラクタ (日匕 乂 化) 

0: 8 II ^01105 "(: 〉 



1 1 


ス64 クロ 


ッ クモ一 ド 


10 


ズ32 


II 


01 


ズ16 


II 


00 


X 1 


11 



10 〈50 しじ モー ド) 

501.0 モー ド での 噩加乍 にな り ます。 このと き, 驚 7 に フラグ データ ^011111100 を, ,尺 6 
を レ シー バのァ ドレス, 界11 5 によって じ!^: - じ0 丁丁 を 選択 しなければ な り ません。 
01 (日匕:/!^ モー ド) 

同期 キャラクタ は 11^6 と ,!? 7 を 連結して 設定し ます。 同期 キャラクタ を 12 ビッ ト と 
16 ビッ トの いずれに する か は,^ 10 のビッ ト で 寸旨定 します。 
00 (!^。!"^, モ一 「 〉 

同期 キャラ クタ は |尺 7 に 設定 します。 5。じ は 同期 キャラ ク タと 同一の キャラ ク タ を 見つ 
けて 同期 をと ります。 同期 キャラクタ 長 は, 界^ 10 の ビット によって' 6 ビット 長と 8 ビッ 
ト 長の いずれ かにす るか を 選択で きます。 

ビット 3, 2 【 ストップビット 長) 

非同期 モードの ときの ストップビット 長 を 指定し ます。 同期 モード を 使用す る ときには' こ 

れら のビッ トは' 00 'に 設定し ます。 



329 



|1 ビット 1,0 〈 パリティ 選択) 



非同期 モー ド での パリ ティ ビッ トの 選択 を 行います。 ビット で パリ テ ィ の 有無 を, ビッ ト 
1 でソ 、'リ ティ を 偶数 ノ 、。リ ティと する 力、 奇数 ノ 、。リ ティ にす る か を 選択 します。 

キャラクタ 長と して 8 ビッ ト 未満 を 選択した 場合, 受信 バッファに は パリティ ビッ ト も 取り 
込まれます ので, 注意が 必要です。 



06 



議 5 



^1^5 は 送信 パラメータの 設定と 送信 制御 を 行います。 ビッ ト 配置 は 図 18 のように なって 
、ます。 

咽 一… 18 ^5 



丁 6 


丁 X 8\^/^[]^^^. 


3 

0厂631 く 


丁 X & 


501.0/ 
ほ - 1 6 


6 丁 5 


X 
0:0 



1: 送信 キャラクタの 
0^ 計算 を 行う 

0: 送ィ言 キャラクタの 
(:^ 計算 を 行わない 



1:8 丁 5 端子 を' じに する 
0: II 屮' II 



〇^ 生成 多項式 を 選択す る 
1:0^-16 多項式 を 使用す る 
0: (;^-じ卩 丁丁 多項式 を 使用す る 

氺30 し (: を 使用 するとき は で' にす る 二と 



1 : 送信 動作 許可 
0: II 禁止 



1: ブレーク を 送出す る (丁 X。 を' 'のま まに する) 
0: 通常 動作 



送信 キャラクタの ビッ ト長を 指定す る 



1 1 
1 
01 
00 



8 ビッ 卜/キャラクタ 
6 II 



1: 丁 8 出力端子 を 'し' にす る 
0: II '! "!' II 



330 



500 



II ビット 7 (ひ 丁 8 制御) 

30: の 171^ 信号の 状態 を 操作し ます。 この ビット を' 1 'にす ると, 30: の 丁^ 出力^ 
が' 乙 0抓 'レベル (レディ 状態) に, で 'にす ると' 8;811 'レベルに なります。 

ビット 6, 5 〈 送信 キャラクタ ビット 長) 

送信 キ ャラ クタの ビット 長 を 指定し ます。 データ I ま 下位 ビ ット から 順に 送出 されて いきます。 

|1 ビット 4 〈 ブレーク 送出) 

この ビッ ト を' 1 'にす ると, 丁 乂0 力ぐ 'になり ます。 この 機能 は, トランス ミ ッ タのィ ネーブル/ 
ディ セーブ ルに 関係な く 動作し ます。 

^(^(^ゅじ で ループ モード 力 《 選択され た 場合, レシーバで 同期 力 5 ? 粒す ると, この ビッ トは 
,0 'になり, トランス ミ ッタは 同期 キャラクタ や データの 送信 を 開始し ます。 5じ じが チャンネル 
リセ ッ トゃ ハード ゥヱァ リセ ッ ト された 場合 は 自動的に' 'になります。 

ビット 3 〖 送信 イネ 一 ブル) 

この ビッ トを' 'にす ると 送 III ^作が 行われ なくなり, 丁 X。 端子 は' 1 'になります。 (: 尺 (: キヤ 
ラ クタ の 送信 中 にこの ビット 力 5 '' 'になる と, (: 尺 じ のか わ り に 同期 キャラクタ ゃフラ グが 送信 
さ;^ ます。 

この ビッ トは, ㊀じじ の チャンネル リセ ッ トゃ ハードウェア リセ ッ 卜で' 'になります。 

ビット 2(080 生成 多項式 選択) 

送受信で 使用す る (:^: の 演算:^ 去 を 選択 します。 丁の と き に は (: 尺 016 多項式, ,0 'の と き 
に は (: & 0じ0 [丁丁 多項式が 使用され ます。 50しじ モー ド では じ1^0031 丁丁 多項式 を 38 尺し 
ます。 

(: & (: ジェネレータと チェッカ は, VI? 10 の ビット 7 によって, 全 ビット を' 1 'と' 'のい ずれ 
かに プ リセット する こと がで きます。 



ビット 1(8 丁 5 制御) 

^(:じ の^ 15 信号の 状態 を 操作し ます。 この ビット を' 1 'にす ると, 50: の 尺 丁 3 出力端子 
か "乙 。が レベル (レディ 状態) に, ,0 'にす ると' 扭8 ビ レベルになります。 



ビット 送信 080 イネ 一 プル) 

送信 キャラクタの (:!?じ 計算 をす る 力^か を 指定し ます。' 1 'にす ると 送信 キャラクタの 0^: 
演算 力 5 ' 行わ^ 送信 ァ ン ダー ラ ン が 発生す る と (:尺じ デー タ が 送出 されます。 



07 



ビッ ト 配置 を 図 19 に 示します。 1^01105^^ ^ぉゅじモードでは"^!^, 界 尺 7 に 同期 キヤ 

ラ クタ を 設定し ます。 8ぉ乂0 じ モードで は, ,! 16 に 下位 バイ ト, ,尺 7 に 上位 バイ トを 設定し 

ます。 

50乙1: モードで は, 界尺 6 には自 局の アドレス, ,只 7 に は フラグ キャラクタ (で订订卩!)') 
を 設定し ます。 



08 鎖 9 

界& 9 は 割り込み 制御な ど を 行います。 ビッ ト 配置 は 334 ページの 図 20 のようにな つてい 
ます。 I 尺 9 は 内部的に は 1 つし かなく, いずれの チャンネルから アクセス されても 同じ もの 
力 5 'リード/ライ 卜されます。 

ビット 7,6 〈 リセット コマンド) 

50: の 各 チャンネル を リセ ッ ト します。 ビッ ト 7 が チャンネル 八, ビッ ト 6 が チャンネル 8 
に 対応し それぞれ' 1 'が セッ 卜される と, 該当する チャンネルが リセ ッ 卜されます。 ,11 'を 設定 
したと き は, が!? の ビット 0, 1, ,尺 9 の ビット 2, 3, 4 などが 変化し ない ほか は ハー 
ドウ ヱァ リセ ッ ト と 同様の 働き をし ます。 



332 



500 



き 図 …… 19 ^6/^7 



歸 



5 丫ぼ 0^/^66^55 





\^卩6 の 値 




6 




4 


3 




1 




リ 01105 ヅ门 じ 8 匕け 5 


5 丫ぼ 7 




5 驚 5 


5 丫^ 4 


5 遞 3 


5 雷 2 


5 丫 1 


3丫 ぼ 


リ0 门 05^1 じ 6611:5 




5 丫 1 




3 電 4 


3 丫 1^3 


5 雷 2 


5 雷 1 


5 丫き 


815, 161)1*3 


5 丫^ 7 




5 置 5 


5 誓 4 


5 遞 3 


5 丫 1^2 


5 丫 1^1 


3 誓 


815^110 12 611:5 


5 丫ぼ 3 


5 丫!^ 2 


3 狐 1 


5 誓 


リ' 


'!' 


リ, 


'!' 


30 し 


ムゆ 


^6 


舰 5 


履 4 


顏 3 


^2 


船 81 


顏 


30 し 嫩 6330 〉 


ム 0^7 


顏 6 


囊 5 


八 か 











一お 7 6 5 ^ 一 3 ^2 1 ^ 

湖 5丫リ じ 





V ^&フ の 《直 


511:7 


6 


5 


4 


3 




1 




リ01105 ゾ门 じ 86!1:5 


3 丫ぼ 7 




5 霍 5 


5霍4 




5 爾 2 


3 雷 1 




リ0 门 05 乂门 じ り 匕11:5 


5 蘭 5 


5 爾 4 


5 丫 1^3 


5 丫^ 2 


5 丫^ 1 


3 雷 






8!3ヅ门。 161)1*3 


3 复 15 


3 丫^ :ぃ 


5 丫^' 3 


3 丫 1^1 2 


3 丫^" 


5 丫^ 10 


3 丫 1^0 3 


5 丫き 


815^110 1261*5 




3 丫 1^1。 


3 丫^ :ョ 




5 丫^ 


遍 




3 雷 4 


30 し 


ザ 


リ , 


,1 1 


リ' 


'!' 


リ , 


,1 | 


,0, 



ビット 4 〖 ベクタ 変更 モード 選択) 

500 は, 割 り 込み 要因に よって 発生す るべ クタ 番号 を 変化させる 機能が あ ります。 このと き' 
割り込み 要因に よって, ベクタの ビット 4 ~6 を 変化させる 力、 ビット 3 ~ 1 を 変化させる か 
を 選択す るの が この ビッ ト です。 害 11 り 込み 要因と ベクタ 番号の 関係 は 尺^ 2 のと ころ を 参照し 
てくだ さい。 



図 …… 20 \^^9 



& は 7 6 5 4 3 2 1 6;10 



^6561 00111^1311^ 


,0, 


5 ね 山 5 41 ゆ 
5 ね セリ5 し。" 


^1 ビ 


01.0 


1^ 


ゾ13 



1: 割り込み 要因に よって 

ベクタ を変ィ 匕させる 
0: ベクタ 番号 は 固定 

1: 割り込み 応答 時, ベクタ を 出力し ない 

0: II する 

1 : 下位 チ; I: ーン 禁止 
0: II 許可 

1 : ^(: の 割り込み 発生 許可 
: II 禁止 

1 : 割り込み 要因に よってべ クタの お"一 6 を 変化させる 
0: II 1)^3 〜1 II 

11: 強制 ハード ゥヱァ リセ ッ ト 
1 0: チャンネル リセ ッ ト 八 
01 : チャンネル リセ ッ ト 8 
00: リセ ッ ト しない 



!] ビット 3 【 割り込み 発生 許可/禁止) 

'!) 'にす ると, 50: から (:?リ への 割り込みの 発生 か 禁止され 割り込み 要求が 発生し なくな 
ります。 この ビッ トは ハードウェア リセ ッ 卜で' 'になります。 

ビット 2 《 下位 チェーン 禁止) 

500 な ど, 2 8000 の ファミリーし 51 を ディ ジーチ ヱ 一 ン 接続 し, 1 つの 割 り 込み 要求 信号 
を 複数の し 51 で 共有す る よ う な 使い方 を した と き に 有効な も のです。 X 68000 では 503 を 単 
独で 使用して いますので, この ビットの 操作 は 意味 を 持ちません。 リセット 後, この ビット は 
,0, になり ます。 

ビット 1 (ベクタな し) 

この ビッ トを' 1 'にす ると, 30: は 割り込み ベクタの 出力 を 行わなくなります。 30: を 割り 
込み コントローラと 接統 し, 害 リ り 込みべ クタ を 割り込み コントローラに 出力させる ような 場合 
に は, 30: を この モードに して, 割り込み コントローラが 出力す るべ クタと 50: が 出力す る 



334 



500 



ベクタが 衝突し ないように します。 



|| ビット ベクタ インクルード ステータス) 

割 り 込み 要因に よってべ クタ を 変化させる か 否か を 選択 します。 ,1 'にす る と 割 り 込み 要因に 
よってべ クタ 番号 力 5 . 変^ (匕す るよう になり, で 'にす ると 割り込み 要因に よらず, つねに, 尺 2 に 
書き込んだ ベクタ 番号が 出力され るよう になります。 



09 



蘭 10 



贾 10 は 送受 作の 制御 用 レ ジス タ です。 曹 10 の ビット 酉 己 置 を 336 ベー ジの図 21 に 
示します。 



ビット 7(080 プリセット) 

01^0 チヱ ッ 力/ジェネレータ の 初期 1 直 を, すべて 1 'にす る か' 'にす る か をす 旨定 します。 



ビット 6,5 〔 データの 符号化) 

ミじじ が 入出力す る データの 符号化の 方法 を 選択し ます。 もっと も^ま 的に 使用され ている デ 

ータ ので, ,0 'が, そのまま 出力の' 1- 1ほ1 !', 'し 0界 'に 対応す るの が]^ 尺2 と 呼ばれる 符号化です。 
その他の ^^21 や?! V [モード では, クロックと デー タ を 分離す るた めに 50: 内部の 
0?1 乙 を 使用す る こと もで きます。 0?1^ を 使用す る ときには, ,尺 14 の ビット 7, 6, 5 
でも, どの 符号化 を 行う か を 指定す るよう にします。 

11 ビット 4 〈 ポーリングで アクティブ) 

おもに 日ひしじ ループ モードで 動作 するとき に 使用され るビッ ト です。 この ビッ ト 力ぐ 1 'にな 
つてい ると きに 20? が 受信され ると, オン ループと なり, トランス ミ ッ タがィ ネーブル になり 
ます。 フラグ 力 《 送信され た 時点で この ビッ トが' 1 'になって いると' 30: は 次の フラグ や データ 
の 送信 を 行い, ,0 'であれば フラグ 送信 を 完了後, 通常の 1 ビット 遅延 モード (尺 乂0 から 入力 さ 
れた データ を 1 ビッ ト 分の 遅延 後, 丁 X。 から- 再送 信す る) になり ます。 

ョ!)!^ 以外の 同期 ルーフ。 伝送 モー ド なら, トランス ミツ タが 受信 同期 キャラクタに 応答して 



図 …… 21 10 



匕 は 7 6 5 4 3 2 1 6110 



0^0 ?「6561 

1/0 


03 ね & 100「め118 


6。 八 は ~6 
011 1^011 


1 き 


八 1)0 け ズ闩38 
011 リり (^「「卯 


し 00 卩 ^0(16 


6 611/81)11 

5 乂 IX 



リ0 门 05 ヅ门 じ モー 卜 お 

1 : 同期 キャラクタ は 6 お 

0: II 813(1 

已匕乂^ モ一 ド時 

1: 受信 同期 キャラクタ は 12ぉ 
0: II 16511 

301^ モー ド, 同期 モ一 ド時 

1 : ループ モード (丁 メ.0 と 8x0 を 内部 

的に 結 線す る) にす る 
0: 通常 動作 

30 し (: モ一 ド時 

1 : 送信 アン ダ一 ラン 発生 時, アボートと フラグ を 送る 
0: I! (: [^を 送る 

30 し。 モ一 ド時 

1 : アイド リレ 時, 丁 乂0 を' 1 '(マーク 状態) にす る 
0: 〃 フラグ (フラグ アイドル) を 送信す る 

30 し (: のル一 プモ一 ド時 

1: フラグ 送信 後, フラグが データ を 送信す る 
0: フラグ 送信 終了後, 1 ビット 遅延 モー ド になる 

丁 X。 の 変調 モード 

1 1: 「IV! (遷移'。') 
1 0: 「リ 〔 〃 リ,) 
1 : 關 
00: 暇 

1 : (^(; ジェネレータ, (^(: チェッカの 初期値 は/ \11 リ' 
0: り 六 I に 0, 



アクティブになる 前に, この ビッ トを, 1 'にしなくて はなり ません。 

ビット 3〈 マーク/フラグ , アイドル) 

30 乙 。 モードの とき だけ 有効な モードで, アイ ドル 時の 丁 X。 の 状態の 制御 を 行う もので 
す。 この ビッ トを' 'にす ると, 50: は アイ ドル 時に フラグ を 送信し ます。 ,1, にす ると アイ ドル 
時 は フレーム 終了 フラグ を 送出した 後, 丁 X。 は' 1, のま まに なり ます。 



ビット 2 〔 アンダー ランで アボート/フラグ) 

この ビット も 30 し。 モードの とき だけ 有^/です。 3じ じ 力-送信 ァ ンダ一 ランのと き の 動 《お を 



336 



500 

選択す る ものです。 

,0 'にす ると, 送信 アンダー ラン 力 5 ' 発生した ときに (:!^: データ を 送信し, ,1 'にす ると ァ ボー 
卜と フラグ を 送信し ます。 同時に, 尺尺0 の ビット 6 (送信 アンダー ラン/ 201^ が' 1 'となり, 
2/5 (外部/ステータス) 害リり 込み 力、' 発生し ます。 さらに (:!^: 送出 力 5 終わる と, 丁 X。 は' 1 'に 
固定され ると とも に 送信 ノ 《ッ ファ 空の 割 り 込みが 発生 します。 

通常, 501^: モードの 場合に は, データの先頭 バイ トを 書き込んだ 後に' 1 'にし, 尉 冬 バイ ト 
を 書き込んだ 後に' 'にす るよう にします。 

ループ モー ド では, この ビッ トは 無効に なり ます。 



ビット 1 (ループ モード) 

503 を ループ モードに します。 トランス ミッタと レシーバ を イネ 一 ブルに する の は, この ビ 
ッ トを 設定した 後に 行います。 

ョ!)]^: モードで は, 11110 のビッ ト 4 力 5 '' 1 'に セッ ト された 後, 20? 力 ^ 受信され ると, 50: 
は オン ループになります が, その後, この ビッ トカ^)' に 戻される と, 次の 20? で 50: は ルー 
プを 離れます。 

50 乙 (: 以外の 同期 モードで は, レシーバと トランス ミッタ を 同期させる ために 使用し ます。 
レシーバ は 同期 キャラ ク タ を 受け取る と, その キャラ ク タ 境界で トランス ミッタ をィ ネーブル 
にします ぼ X。 を ブレーク 状態に していても 解除され ます)。 

この ビッ トは 非同期 モードで は& 見され ます。 

ビット 0〔 同期 キャラクタ 長) 

1^0008700 や 8 お 乂0 じ モードの とき に, 同期 キャラ ク タ長を 通常の 8 ビット (^(^。び!!じ) 

や 16 ビッ ト お 刃 冗) ではなく, 6 ビッ トゃ 12 ビッ ト とする ために 使用され ます。 
この ビッ ト への 設定 は, モー ドゃ 非同期 モー ド では 無 見され ます。 



0-010 



^11 



^^11 は, 送受信 タイミング 用 クロック や 3 丫]^ (:^? の 機能の 選択な ど を 行います。 ビ. 
ト 配置 は 338 ページの 図 22 のように なって います。 



337 



図 …… 22 職" 



6(17 6 5 4 3 2 1 13110 



^7x0 X 丁み し 
7^0 ズ17\ し 


^606^6 0100^ 


1 

丁 「3115^111 0100^ 


〇 "! 
& 刀 

三〇 


丁 8x0 0リ ま 



端子から 出力され る 信号 源 

1 1: [^しし 出力 

10: ボーレート ジ ヱ ネレ一 タ 出力 

01: 送信 クロック 

00: 水晶 発娠 回路 出力 



1: 丁^ ^ 端子 は 出力端子 
0: II 入力 端子 

送信 ク 口 ック 選択 
1 1 : 0? しし 出力 

10: ボーレ一 卜 ジェネレータ 出力 
01:?^ 端子と 同一 
00:^?^ 端子と 同一 

受信 クロック 選択 
1 1 : 0? しし 出力 

1 0: ボ 一レート ジェネレータ 出力 
01:?^ 端子と 同一 
00:^?^ 端子と 同一 

1 :而で と^^ 端子で 水晶 発振 回路 を 構成す る 

0:^?^ は クロ ック 入力 端子と なる ひ68000 では, この 設定に する) 



ビット 7(8 丁 X。 水晶 あり/なし) 

ョじ。 は, 尺 丁 X。 端子と 端子の 問に 水晶 振動子 を 接続す ると, 発振 回路 を 構成し, 自 
分で 発振 動作 を 行う ことができる ようになって います。 この ビッ ト 力ぐ 1, になって いると, 50: 
は 3 丫]^ じ^ との 間に 接続され ている 水晶 振動子 を 使って 発振 動作 を 行う よ う にな り, ,0 ,に 
すると, ^丁 X じ は 外部 か らの クロック 入力 端子 となります。 

乂 68000 では, チャンネル 八, チャンネル 13 とも' 'で' 使用す るよう にします。 



ビット 6, 5 〖 受倌 クロック 源 選択) 

受 #8 が 乍の クロック 源の 選お 《を 行います。 通常の 非同期 モードで は' 10,, すなわち, ボーレ一 
ト ジェネレータの 出力 を 使用し ます。 ハ一 ドウ ヱァ リセ ッ ト後 は, 受信 クロック は 尺 丁 X。 力、 ら 
搬 含され る モー ド になって います。 



500 



II ビット 4, 3 【 送信 クロック 選択) 

送 18 &作の クロック 源の 選択 を 行います。 通常の 非同期 モードで は' 10,, すなわち, ボーレ 一 
ト ジヱネ レー タの 出力 を 使用 します。 ハード ゥヱァ リセ ッ ト 後, 送信 ク ロック は 71^x0 から 供 
給され る モー ド になって います。 



ビット 2【 丁 8x0 出力/入力) 

500 の 丁 尺 乂じ^ を クロ ッ ク 入力 端子と して 使う か, ク 口 ック出 力 端子と して 使う のか を 
選択し ます。 レシーバ や トランス ミッタの クロック 源と して 丁 尺 X。 端子 を 選択して いる 場合 
に は, 丁!? 乂じ 端子 はこの ビッ 卜の 設定に 関係な く, 強制的に 入力 となります。 

X 68000 では, チャンネル 八の 丁^ XI: 端子 は 入出力の いずれで も 使用で き るよう になって 
います。 入力か^ 了-と して 使う ときには チャンネル 8 の:) 丁 尺 "を' 1 '('し 0讽 'レベル) にす ると, 
1^5-232 (: コネクタの 5 丁 2 (送信 タ ィ ミ ン グ 入力) 端子 と 丁!? X じ 端子への 入力 となり ま す。 
丁 尺 X。 端子 を 出力と して 使う ときには チャンネル 8 の 01 ^端子 を' 0, ('ョ 1811 'レベル) にして 
おかないと, 5 丁 2 からの 入力 と 5じ じ の 出力 力 寸新 突して し まいます ので 注意して く ださい。 



ビット ^(^ 丁 8x0 出力 源) 

丁 尺 X。 端 了-が,' 1 けせ;^ 了-と して 動作して いる と き, この 端子から 出力され る クロ ッ ク源を 選択 
します。 0? しし 出力 を 選択した 場合, 丁 尺 乂じ^ から 出力され るの は 受信 用の!)? しし 力 5 ' 生成 
している クロックです。 



0-011 



ボーレート ジ ヱネ レー タの 出 力 周波数 制御 を 行 う レジスタ です。 ビ ッ ト 配置 は 340 ベー ジの 
図 23 のように なって おり, ,尺 12 力; 下位 8 ビッ ト, ,! 113カ《 上位 8 ビッ 卜の 16 ビッ ト レジ 
スタ として 動作し ます。 

これらの レジスタへの 書き込みの 際 は, ボーレ 一 ト ジェネレータの 動作 をい つたん 停』 ヒ させ 
てから 行う ようにし ます。 



》 図 …… 23 ^12,^13 



^12 



丁 じ (下位) 



柳 13 



丁 じ (上位) 



ボーレ一 ト ジェネレータ 出力 周波数 : 



ボーレ一 トジ I ネレ 一夕への 入力 クロック 周波数 

2 X (丁 じ 十2〉 



0-0)2 



^14 



が 尺 14 は ボーレ 一 ト ジェネレータ や 0?1し の 制御な どに 使用され ます。 ビッ ト 配置 は 図 24 
のよう になって います。 



ビット 了, 6, 5(0? しし コマンド) 

の 動作 モー ドの 選択な ど を 行います。 

111 (闪!:^! モー ド 選択) 

0?乙し を 1^1121 符号の デコード 用と して 謝 乍させます。 リセット 後, 0?乙乙 はこの モード 
になり ます。 
110 モー ド) 

0? しし を ?] VI 符号 や マンチェスター 符号の デコー ド 用と して 動作 させ, 入力され た V [符 
号 信号に 同期 した ク ロック を^ します。 
101 (:)? しし クロック 源 : 61x0 

0?1し の クロック 源と して 尺 丁 乂じ^ の 入力 を 使います。 
100 (口! 3 しし クロック 源 :曰?^) 

0? し I の クロ ッ ク源 と して ボー レート ジェ ネ レー タの 出力 を 使用 します。 0?しし を ^[尺 21 
モードで 售加 乍させる 場合に は, ボーレート ジェネレータの クロック は 伝^ I 度の 32 倍, ?] V [モ 
一 ドで 動かす 場合に は 16 倍の ク 口 ッ クが 入力され る よ う に ボーレ 一 トジ エネ レー タ をプ ログ 
ラムす る 必要が あり ます。 
011 (。! 3 しし ディ セーブ ル) 

0? ししの 動作 を 停止させます。 クロック 欠如 ビット (尺 1^10 の ビット 7, 6〉 はク リアされ 



3=10 



500 



,図 …… 24 \^614 



01 3 しし 00171(113 门づ 



4 






1 


1)110 


し 0031 


^リね 


丁 ほ/ほに 


圆 




し 00 ゆ 3ゅ 


已 1±0 


厂 11 11(^100 


; 30 じ 1X6 


^113616 



1 : ポーレー トジ I ネ レー タ 動作 

0: II 停止 



ポ一 レート ジェネレータの クロック 源 選択 
1 : 301: の卩 しに 〔乂68000 では 51^1 "! に) 
0: 8 丁 X。 端子と 同一 



1 : 送信 バッファ 空/同期 モードで ぼ。 送出 時 丁 8 : 'し' 
0: 丁 8 端子 は 1/^5 の 0巧 ビットで 制御され る 



1 : 丁 X。 は 外部と 切り離され, ぉ0 と 内部 接続され る 
0: 通常 動作 



1: 8x0 は 外部と 切り離され, 丁 ぱ と 内部 接続され る 
0: 通常 動作 



[^しし 動作 モー ド 選択 
1 1 1 : 561 隱 I !^0づ6 
: 56 セ 厂! VI ^0づ6 
: 561: 501^1-06 = ^1x0 
: 5@1: 500^06 = 8^0 

: 0153616 0? しし 



([^しし を吧 21 モ一 ドで 動作させる) 
〈 〃 「お モードで 動作させる) 
〔0 卩 ししの ク 口 ック源 は!^ 丁 乂0 
〔 〃 ボーレ一 ト ジェネレータ 出力) 

([^しし 動作^!) 

010: ^6361 |^|;35;^8 0100^(1^155;^ 010ゅ 〈 88 1 の &1 セ 7, 6〉 をク リアす る) 

001:むぉ「 5631-0^1 リ0づ6 ([^ししの 同期 動作 開始) 

000: リリ11 00^1^13^ ([^ しし 動作に は 影響 を 与えない) 



1 1 
101 
100 
01 1 



ョ一ド 時, 01 3 ししの 入力 は データ 転送 速度の 32 倍, 「IV! モード 時 は 16 倍と する 二: 



サーチ モードになります。 

010 (クロック 欠如 リセ ッ ト) 

クロック 欠如 ビット をク リアし, 次の クロック 欠如 状態 力 3 検出され るよう になります (クロ 
ッ ク 欠如 ビッ ト は?] VI モー ド でのみ 使用され ます)。 
001 (エンター サーチ モー ド) 

この コマンド を 受け:^ ると, 0?乙し は サーチ モードに なり, 入力 データに 同期 をと るよう に 
なります。 ?] VI モード 時, 決められた 期間 内に 入力信号の エッジ 力 3 検出で きないと, 「1 クロ ッ 
ク 欠如」 となり, 只 尺 10 のビッ ト 7 力 ミ'' 1, になり ます。 さらに 逸 続して 2 回 試みても 入力信号の ェ 
ッジカ 4 食出で きなければ, 「2 クロック 欠如」 となり, ^尺 10 の ビット 6 力ぐ 1, になる とともに 
!)! 5 :^^ は サーチ モー ド になり ます。 
000 (ヌル コ マン ド) 

\± の!^ やに はなん ら^ # を 与え ません。 



341 



ビット 4 【 ローカル ループバック) 

,1 'にす ると, 30: は ローカル ルーフ。 バック モードに なり, トランス ミッタの 出力 は そのまま 
レ シーノ く-に も 入力 さ れ 1^x0 端子 は 使用 さ れな くなります。 
リセット 後, この ビット は' 'になります。 

II ビット 3 〈 ォ―ト エコー) 

1 'にす ると, ㊀じじ は オート エコー モードに なり, 1^x0 への 入力 は そのまま 丁 X。 から も 出 
力され るよう になり, トランス ミッタの 出力 は# お 見され ます。 
リセット 後, この ビット は' 'になります。 

ビット 2(0 丁 8/8 已 機能 選択) 

30: の 0丁が & 2(3 きを, ソフ トウ エアで 操作 可能で ある 丁& 信号と して 使用す る 力 \ 
データ 転送 要求 信号と して 使用す るか を 決めます。 ':! 'のとき, この 端子 は 丁!? 信号 端子と な 
り, が尺 5 の ビット 7 で' 状態 を 設定す る ことができます。 この ビット を' 'にす ると, このき 
は 転送 要求 信号と なり, 送信 バッファが 空に なった とき や, 同期 モー ドで 0^: データの 送出が 
行われた 時点で, この 端子が' し 0V /になり ます。 

X 68000 では, 下 尺 信号と して 尺 5-2321: コネクタに 出力して いますので, 通常, この ビ 
ッ トは' 'で 使用し ます。 

ビット 1 (^?^ クロック 源) 

ボーレ 一 トジ エネ レー タの クロ ッ ク 信号 源と して 尺 丁 "への 入力 を 使用す る 力、, 500 
の^: クロック (?じ 乙 に^^ から 入力され る) を 使用す るか を 選択し ます。 ,1 'のとき, ? (:乙^ 
入力 力 5 選択され ます。 

通常, 非同期 モードで は, 外部から クロック は 与えられません ので, ,1 'で 使用す るの が 普通 
でしよう。 X 68000 では ?じ しに 端子に 5 1\4112 の クロック 信号が 入力 されて います。 

ビット 0(88(3 動作 イネ 一 プル) 

61^0 の 動作の 許可/禁止 を 制御 します。' 1 'のとき, ボーレート ジェネレータ の 動作が ィ ネ 一 
フ" ル になり ます。 

342 



500 



贾 12, 曾 13 に 設定 を 行う 場合に は, この ビッ ト を' 'にして ボーレ 一 ト ジェネレータの 動 
作 を 停止 させ, 設定が 終了して から, ,1 'に 戻す ようにし ます。 



0-0)3 



界尺 15 の ビット 配置 を 図 25 に 示します。 \\^15 は, 2/5 〈 外部/ステータス) 割り込み 要 
因と なりえ る もの それぞれ について, 害 リ り 込み を 発生す るか 否か を 選択す る ものです。 それ ぞ 
れ' 1 'になって いると 割り込み 発生 カ赞 可, ,0 'になって いると 禁止と なり ます。 



》 図 …… 25 ^15 



8「63 に/ 


丁 X リ 。お 「「リ [! 


丁 5 


5^00/^11111: 


000 


,0, 


26「0 じ じ 111 


で' 


歸 15 


/印 リ 旧 


1 & 


1 己 


に 


1 已 



1: ポ 一レート ジェネレータの カウント 値 
= で 外部 ステータス 割り込み 発生 
0: ゼロ カウント 割り込み は 発生し ない 

1 : ~000 端子の 状態 変化で 割 り 込み を 発生す る 
0: 〃 しなし、 



(非同期 モ一 ド時) 

1:さ? ^端子の 変化で 割り込み を 発生す る 
0: 〃 しない 

(同期 モ一 ド し (: モー ド時) 

1 : 同期の 確立/喪失の 変化で 割 り 込み を 発生す る 
0: 〃 しなし、 



1:で巧 端子の 変化で 割り込み を 発生す る 
0: II しない 

1 : 送信 アンダー ラ ン /送信 終了で 割 り 込み を 発生す る 
0: 〃 しない 



1: ブレーク /アボート 状態 検出で 割り込み を 発生す る 
0: リ しない 



0-014 



叩 



II 尺 のビッ ト 配置 を 344 ページの 図 26 に 示します。 尺^ は' 送受信 ノ 
スと 6 つの 2/5 割り込み 要因 ごとの ステータス 力 (示されて います。 



'ファ のステ 一夕 



343 



図 …… 26 ^0 



匕 は 7 6 5 4 3 2 1 6110 



8「63 に/ 


丁 X 1)1X16 「「じり 


(: 丁 5 


5 驚/ 


000 


丁 X 1?リ付6「 


な 「0 


8乂 ゆ 3「3。 お 「 






き 1 




じ リ门 1: 


^3113616 



受信 バッファに キャラクタ 
(データ) が 入って いるか 
否か を 示す 

1: キャラクタ 力、' ある 
0: バッファ は 空 

1 : ポー レート ジェネレータの 
カウント 値が になった 
0: 通常 動作 

(訓 15 の ビン 卜 1 が' 1 'のとき のみ 有 勃) 

1: 送信 バッファが 空に なった 

0: II に キャラクタが ある 

^端子の 状態 を 示す 

1: "^端子 は' じ レベル (キャリア 検出した) 

0: II '! "!' II 〈 II していない) 

非同期 モー ド時 
1:^71^ 端子 は' じ レベル 

0: II 屮' II 

同期 モード 730し0 モード 時 
1: 同期 は 確立して いない (リ リは モード) 
0: 同期が 確立した 

(: 丁 5 端子の 状態 を 示す 

1: "^端子 は' じ レベル (送信 許可 状態) 
0: I! 1/ (送信 禁止 状態) 

1 : 送信 アンダー ラン (バッファ 内の キャラクタ をす ベて 送信した 力;, 新しい キャラクタ 

の 害き 込みが 行われなかった), または 送信 終了 
0: 通常 動作 

非同期 モー ド時 

1: ブレーク 状態 を 検出した 

0: II から 回復した/通常 動作 

50 し。 モ一 ド時 

1: アボート シーケンス (了 個 以上' 1 'が 連続す る) を 検出した 
0: アボート シーケンスが 終了した/通常 動作 



ビット 7 〈 プレ— ク /アポ 一卜/巴 り! 3 ) 

非同期 モードで は, に ブレーク 状態 を 検出す ると, 1, になります。 1^0 カズ 復帰す ると, 
この ビッ 卜が, 'になる とともに ヌル データ (^り) か 読み出されます。 この データ は 読み 捨てる 



500 



必要が あり ます。 

301^: モードで は, この ビット は, アボート シーケンス (': I 'が 7 個^! 統 する) を 検出し 
た 時点で' 1 'にな り , ァ ボー ト シーケ ンスカ 《 終了 した 時点で' 'にな ります。 
この ビット が' 'か ら' 1 'に 変化 し た 時点で 2/5 割 り 込みが 発生 します。 

ビット 6 〈 送倌 アンダー ラン/巳 01^ 

リセット や トランス ミッタ ディ セーブ ル, アボート 送出 コマンド などに よって' 1 'になり, 2ダ 
5 割り込みが 発生し ます。 

この ビッ トは, が& に 「送信 アンダー ランダ 201\4 ラッチ リセ ッ トコ マン ド」 を 書き込む こ 
とで' 'に復 '帰します。 

ビット 5 (じ 丁 5 ライン ステータス) 

075 に163 !" 丁 560^1) ^の 状態 を 示します。 ^尺 15 のビッ ト 5 で (: 丁 3 の 変化に よる 
割 り 込みが ィ ネ 一 ブルに なって レ 、る 場合に は, レ 、ずれ かの 2/3 割 り 込み 要因が 発生 したと きの 
0X8 の 状態 を 1 親 し, 075 の 状態に 変化が あれば, 2/5 割 り 込みが 発生 します。 015 による 
割 り 込みが 禁止に なつ て いれば, この ビット は じ15 ^の 状態 力 (その ま ま 読み出 されます。 

ビット 4 〈 シンク/ハント) 

非同期 モードで は, 57^1 (: 4^? "の 状態 力 5 ' 示されます。 X 68000 では, 5 VI ^(^好 は' II は!!' 
レベルに 固定され ており, なんら 有効な ステータスに はなって いません。 

501.0 モー ド では, エンター ハン ト コ マン ドカ^ 1: き 込まれた り, レシーバ か 1; が 乍 不可に なつ 
た 場合に' 1 'となり, 第 1 フレームの 開始 フラグ カミ 検出され ると' 'になり ます。 このと き, ,尺 15 
のビッ ト 4 力 5 '' 1 'になって いれば, 2/5 割り込み カズ 発生し ます。 

ビット 3(000 ライン ステータス) 

000 ^の 状態 を 示 します。, II 15 の ビット 3 で 。(:!) の変ィ 匕に よ る 割 り 込みが ィ ネ ーブ 
ル になって いれば, いずれ かの 2/5 割り込み 要因が 発生した 時点の 000 の 状態 を 皿し, 
000 の 状態に 変化が あ れば, 2/5 割 り 込みが 発生 します。 000 による 割 り 込み か 禁止 さ れて 
いれば, この ビッ ト は 003*7 "の 状態が そのまま 読み出されます。 



II ビット 2 【 送信 バッファ 空) 

送信 バッファ 力;' 空になる と, ,1 'になります。 この ビッ トは, 同期 モード や 50乙じ モードで は 
(:尺じ 送信 屮も' 'のま まに なって います。 この ビッ トは リセ ッ ト によって' 1 'になり ます。 

ビット 1 (ゼロ カウント) 

讽 尺 15 のビッ ト 1 力、'' 1 'のとき, ボーレート ジェネレータの カウン ト 《直が になる と, この ビ 
ッ トが' 1 'になる とともに 2/5 割り込み を 発 先します。 非同期 モー ド などで ク 口 ッ ク 源と して 
ボーレ 一 ト ジヱネ レー タを 使用して いる 場合に は, この 割り込み を 使用 しないの 力、' # 通 でしよ 

ラ。 

II ビット 0〈 受信 キャラクタ 有効) 

受信 バッファに 少なく とも 1 つの キャラクタが 入って いると' 1 'になり, 受信 バッファが 空に 
なると' 'になります。 リセ ッ ト によって 受信 バッファ は 空になります。 



0-015 



881 



尺^1 のビッ ト 配置 を 図 27 に 示します。 この レジスタの 上位 4 ビッ ト は, 
ン ディ シ ョ ンの ステータス ビッ ト, 下位 4 ビッ ト に は 301^: モー ド時の 端数 ビ 
されます。 



ト など カ^^! 内 



ビット 7 〈 エンド ォプ フレーム) 

50 し (: モー ド時 のみ 使用され ます。 正常な 終了 フラグ を 受け取った とき や, じ尺じ エラー ビッ 
ト, 端数 コード 力 《 確定した ときに' 1 'になり, エラー リセ ッ トコ マンド やや 繊の第 1 フレームが 
受信され たと きに' 'に 復帰し ます。 

ビット 6(^I : ?^/ フレー ミン グ エラー) 

非同期 モー ドで フレー ミン グ エラー (ス ト ッ プビッ 卜が ある はずのと ころ 力ぐ 'になって いる) 
力 《発生した 場合に, 同期 モードで は, この ビット は (:!^: チヱ ックの 結果 を 示し, (:^じ エラー 



346 



500 

図 …… 27 ^1 



61* 7 6 5 4 3 2 1 




山 




お 06「「リ门 


^3 「は乂 


865 ま 6 




只 65 [づじ 6 


训 56111: 




巳 「「0「 


匕 「「0「 


巳 「「0「 


00^6 


00^6 1 


00^6 2 



非同期 モード 時 

1 : キャラクタの 送出 

が 完了した 
0: キャラクタ 送出 中 

50し0 モード 時, 最後に 受信した キャラクタの 



有効 ビット 数 を 示す 


1 1 1 


1 ビッ ト 


000 


2 〃 


100 


3 〃 


010 


4 〃 


110 


5 〃 


001 


6 〃 


101 


7 〃 


011 


8 〃 



1: 受信 データ 中に パリティ エラー を 検出した 
0: 正常 動作 

1 : 受信 バッファが オーバ フローした 
0: 正常 動作 

非同期 モー ド時 , 

1 : フレー ミン グ エラー (ス ト ッ プビッ ト 力、' 見つからない) を 検出した 
0: 正常 動作 

同期/ 50 し モー ド時 

1 : 081: エラ一 を 検出した 
0: 正常 動作 

5010 ド時 

1: 正常な 終了 フラグ を 受け取った/ 01^ エラ一 ビッ 卜と 端数 ビッ 卜が 確定した 
0: 通常 動作 



が 発生す ると, ,1 'になります。 

この ビット は, エラー リセット コ マン ドゃ 正常な キ ャラ クタ の 受信に よって で 'に 復帰 します。 



11 ビット 5 〔 オーバーラン エラー) 

受信 オーバーラン, すなわち, 受信 バッファ がいつ ばいに なって いると きに 新しい キャラ ク 

タが 受信され た 場合, オーバーラン を 起こ した キャラ ク タが 引き取られた 時点で' 1 'にな り ます。 

この 割り込み カ^! 生した とき は, エラー リセット コマンド を 発行 しないと, 以後 受信 キャラ ク 
タが 入って く るた びに スペシャル & X コン ディ ショ ン 割り込み 力^! 生して しまいます。 



347 



ビット 4 〈 パリティ エラー) 

パリ テ ィ 力 5 ' ィ ネーブル になって いる 場合, ノ、 。リ ティ チェ ックで エラー 力、 検出され る と, 丁に 

なります。 一度 エラー か 検出され ると, エラー リセ ッ トコ マンドで リセ ッ 卜する まで' 1 'のま ま 

になり ます。 

界!? 1 のビッ ト 2 によって, ノ 、。リ ティ エラーで スペシャル 尺 X コンディション 割り込み を 発 
生させる ようになって いると, パリティ エラー を 発生した キャラクタで 割り込み を 発生し ます。 
この 割り込みが 発生した とき も エラー リセット コマンド を 発行 しないと, 以後, 受信 キャラ ク 
タが 入って く るた びに スペシャル 1^: コ ン ディ シ ョ ン 割り込みが 発生して しまいます。 



ビット 3, 2, 1〈 端数 コード) 

501.0 モー ド では, データ は 任意の ビッ ト 数の データが 伝送で き, 500 はこれ を 8 ビットず 
つ 受信 パ - ッファ に 取り込んで いきます。 このため, 最後の データの 有効 ビット は 1~8 ビット 
のい ずれ かになります。 この 有効 ビッ ト数を 示す のか 端数 ビッ ト です。 

ビット 0〈 全 キャラクタ 送出) 

非同期 モードで は, この キャラクタ 力 5 ' すべて 送出され たと きに' 1 'になります。 送信 パ' ッファ 
ェンプ ティ と 似て いますが, 送信 バッファ 力 3 ' 空に なった 時点と いうの は, 前回 書き込んだ キヤ 
ラ クタの 送出が 始まり, バッファに 空きが できた こと を 示す もので あり, この ビット は 送出 ま 
です ベて 終了 した こ と を 示す も のです ので, 間違えな いよ うにして く ださい。 



0-0)6 



叩 2 



チャンネル 八 側で は 2 に 書き込んだ ベクタ 番号 そのものが, チャンネル 8 側に は 割 り 込 
み 要因に よって 値が 変化 させられた ベクタ 番号 力 5 ' セッ ト されます。 割り込み 要因に よって ビッ 
ト 4 〜 6 が 変化す るよう にす る モードと, ビッ ト 1〜3 が 変化す るよう にす る モードが ある こ 
と はすで に 述べた とおり です が, 図 28 では, 900130 68 I く で 使用 されて いる ビット 1 ~ 3 が 
変化す る モー ド でのべ ク タ と 割り込み 要因の 対応 を 示して います。 



3-18 



500 



き 図 '-… 28 ^2 



チャンネル^ 



き10「 ^リ 17166「 





















ぉ|^ への 設定 値 



6117 



チャンネル 8 



ぼ リ が 設定 したべ クタ 番号 割 り 込み 要因 を 示す 

111: チャンネル; \ スペシャルお コ^ イシ ヨン 
110: チャンネル も 受ィ言 キャラクタ 有効 
101 : チャンネル/ \ 外部 ステータス 変ィ匕 
100: チャンネル 八 送信 バッファ 空 
01 1 : チャンネル 8 スペシャル^ X コンディション 
010: チャンネル 8 受信 キャラクタ 有効 
001 : チャンネル 8 外部 ステータス 変ィ匕 
000: チャンネル 8 送信 バッファ 空 

氺 ^89 のビッ ト 4ニ リ 'のとき は, 
お 3 ~1 に 代わって 

6114-6 が 変化す る (ビット が 反転す る ことに 
注意) 



0*017 



883 



レジスタの ビット 酉 己 置 を 350 ページの 図 29 に 示します。 この レジスタ は ペンディング (保 
留) 中に なって いる 割り込み 要因 を 示します。 この レジスタ は, チャンネル 八の みか特 つてお 
り, チャンネル 8 を 読み出す と, 800 か 1 売み 出されます。 



0-018 



服 10 



ビッ ト酉己 置 を 350 ページの 図 30 に 示します。 この レジスタに は 他の レジスタに 入れられな 
かった ステータス 力 5 ' 集められ ています。 



図 …… 29 88 3 〔 チャンネル/ \ のみ 有効) 



1)117 6 5 4 3 2 1 1)1(0 



チャンネルお 



,0, 


,0, 


013门 门 6は 


013 暖 1^ 




0113^1^1616 


013 门 06 旧 


ほ 30(1618 


お II 3 


丁 X 1 ド 


邮 17\丁 『 


お X 1? 


丁 X 旧 


に X 丁/通 \? 



チャンネル 8 外部 ス 
テー タス 変化 割り込み 

チャンネル 8 送信 割り込み 

チャンネル 8 受信 割り込み 
チャンネル 八 外部 ステータス 変化 割り込み 

チャンネル/ \ 送信 割り込み 
チャンネル/ \ 受信 割り込み 

氺 いずれの ビッ ト も 割り込みが ペン ディ ング (保留) 中 だと '"! 'になる 



咽 …… 30 明 10 



000 000^ 


丁 が0 0100^5 


卬' 


し 00|3 


,0, 


011 し 009 


で' 


1^1551112 


^11551^ 


36 门 (^门 〇 



30 し モ一 ド時 

1: ループ モードで, 500 が 
実際に オン ループに ある 
0: それ 以外の 状態 

^01105 乂 11じ お 

1 : ル一 プモ一 ドで, トランス 
ミッタが アクティブ である 

0: それ 以外の 状態 



50し0 モード 時 

1: ループ モードで, 5ぱ が ループ 上に 送信 動作 をして いる 
0: それ 以外の 状態 



1 : 「IV! モ一ド 時, 連続 2 回の 試みで, クロック エッジが 見つからなかった 
0: その他の 状態 



1 : 「IV! モー ド時, 6x0 で' 1 'が ある はずの 期間の 中に クロック エッジが 見つからなかった 
0: その他の 状態 



,ビット 7, 6 〖 クロック 欠如) 

VI モー ドで, 0?乙し 力 《 入力 波形に エツ ジが ある はずの 期間に エツ ジを 検出で きないと, ビ 



350 



500 

ッ ト 7 力ぐ 1 'になり, 連続 2 回の 試みで も エッジが 兄つ からない と, ビッ ト 6 力、'' 1 'になり ます。 

ビット 4 〈 ループ 送信 中) 

501.0 ループ モー ドで, トランス ミツ タカ 5 ' ループの 制御下に あ り , 50: 力;' 送ィ貧 動作 を してい 
る 期間 だけ' 1 'になり ます。 



11 ビット 1 (オン ループ) 

501^: ループ モー ド では, 50: カズ 実際に オン ループに ある 期間, ,1 'になり ます。 1\^0110 3 乂0じ 
でソ レープ モードに 設定した 場合に は, トランス ミッタが アクティブ である 問, ,1 'になります。 



0-019 



ビット 配置 を 図 31 に 示します。 これらの レジスタ は, ボーレート ジヱ不 レ' 
が&じ) に 設定した 値が そのまま 読み出されます。 



-タ (舊 12/ 



I 図 …… 31 ^12,^13 



^12 



丁 (下位) 



^13 



丁 (上位) 



; ^812, ^ 13 に 書き込んだ ポ一^ ト ジ 1 ネ レー タ への 設定 値が 読み出される 



0-020 



ビッ ト配罱 を 352 ページの 図 32 に 示します。 
のま ま 読み出されます。 



: の レジスタ は, ,& 15 に 書 き 込ん た! [がそ 



351 



図 -… 32 ^15 



1)117 6 5 4 3 2 1 6110 



8「63 に/ 


IX じ^ 6「「閒 


丁 5 


5 丫^ 川リ^ 


000 


,0, 


261*0 00 リは 


1 1 


き 「1 11: 


ノ圆 1 巳 


1 巳 


1 匚 


1 巳 


15 



1: ゼロ カウント 割り込み 許可 
: II 禁止 

1: 000 変化 割り込み 許可 
0: II 禁止 

1 : 3 丫 ^か 11111 状態 変化に よ る 割 り 込み 許可 

: I! 禁止 

1: じ 丁 3 変化 割り込み 許可 
0: I! 禁止 

1 : IX アンダー ラ ン /印^! 姓に よ る 割 り 込み 許可 

0: II ぼ 

1 : 8「63|^;\ヒ01^ え!^ 出に よる 割り込み 許可 
0: II ^± 



キーボード/マウス 



ユーザとの 直接の 接点と なる のが キー ポー ドと マウスです。 

X 68000 では, キ一 ボードに たんなる 文字 入力の ほか, ディ ス 
プレイ や マウス 制御 撥 能 も 持たせ, ユーザインタフェース を \ 
ト 一 タルに サ ポー 卜して いま す。 



キーボード/マウスの 概要 



キーボードと マウス インタフェースの ブロック 図 を 354 ページの 図 1 に 示します。 X 68000 
では, キー ボー ド との データ 入出力 を IV!?? の 115 八 尺 丁 (シ リ アル ポー ト), マウスからの デー 
タ 入力 を 5じ じ の 8 ポート で行レ 、 ま す。 

キーボードとの データ 伝送 は 伝^!)^ 2400 ヒゅ データ 長 8 ビッ ト, スト ッフ 。ビッ ト 1 ビッ 
ト, ハ' リ ティな しで, マウスとの データ 伝送 は 伝^! 度 4800 ヒロミ データ 長 8 ビット, ス トツ 
^7。ビッ ト 1 ビッ ト, ハ 。 リ ティな しとな つてい ます。 

X 68000 では, キー ボー ドゃ 本体から 専用 ディ ス プレイの 電源 01^/0?? や 丁 V の チャン 
ネルの 切 り 替えな どの 制御が 行える よ う になって いますが, この 制御 は キー ボー ド 内の じ? リ 
(ワンチ ッフ 。マイコン : 呂化リ や システム ポート #2 で 行う ようにし ています。 キーボードの 電 
源 は 本体の 電源が 0?? になって いても 供給され 続ける マ0: 2 からと つてい ますので, 本体 
の 電源が 0?? であっても キー ボー ド 内の じ?1! は 動作 してお り, キーボード による 丁 V 制御 
力て 行える ようになって います。 

また, X 68000 では 本体と キー ボー ドの 両方に マウス コネクタ 力 《ついています が, この 両方 



353 



》 図. 



1 キー ボー ド /マウス 系統 プロ ック図 



ズ68000 



500 




ディスプレイ 制御 
コネクタへ 



キーボード 



伝送:^ 度 
データ 長 
ト ッ プビッ 卜 
ノ^リ ティ 



2400 ゆ 5 
8611 
1 お 
なし 



伝送速度 : 4800 ゆ 5 
データ :8れ 
ストップ: 2&11: 
^^^パリティ : な し 



― マウス コネクタ 



リ 3(3 丁 8 し 



コ— 



し 3374 














^0.7 
7x0 
丁 



ド 3.7 



丁 I 



80051 



盼 



システム ポート #4 〈 粗 8^07〕 
の ビッ ト 3 

システム ポート;^ (お 80307〉 
のビッ ト 3 



システム ポート #2(^8^03〕 
の ビット 3 ^ ~ ^ 




キ I 'ポ— ド コネクタ 



本 ^ 接 !6 用 コネクタ 



诮 ^4 棚厂 



354 



一 ボー ド /マウス 



の データ 線 は 電気 的に つながって います。 ただし, マウスに データ 出力 を 要求す る ^5じ 丁!^ 
信号 は, 本体 側 は 50: の^ 丁 58 端子, キー ボー ド側は キー ボー ド 上の じ? II によって 制御 さ 
れ るよう になって います。 キー ボー ド 側の ^5じ 丁^し 信号の 制御 は, 0?11 への コマンド によ 
つて 行える ようになって います。 




キーボード/マウス 関連 ポート 



キ 一 ボー ドと マウ スの 制御に 関連す る 1/0 ポート を 図 2 に まとめて みました。 これらの つ 
ち, IV [?? と 5(3 じ について は, そ れぞれ の テン くィ ス の 説明の ぺー ジ を 参照 してく ださい。 



図 …… 2 キーボード/マウス 関連 ポート 



デバイス 


ァ ドレス 


^81^0 

丁 巳 


13;17 | 6 1 5 ! 4 ! 3 ! 2 ! 1 ! 匕 は 


レジスタ 


ぼ 卩 


5^80027 


傘 








5V 










同期 キャラクタ レジス 夕 


2 巳 80029 


奉 






^ し 


571 


570 




ま 




リ 5 ムほ丁 コン ト ロール レジスタ 


8 巳 80028 


ま 




已 


巧 


巧 


ホ 

01-8 




35 


旺 


受信 ステータス レジスタ 


8^80020 


ま 


8^ 


じに 


八丁 


隱 


6 






丁に 


送信 ステータス レジスタ 


5 に 8002 ド 


ま 


















リ 3ム8 丁 データ レジスタ 


1/0 

コントローラ 


5 已 8 に 003 


ま 




丁 8 し 




30 


30 
只 


システム ポー 卜 ^2 


2 已 8己007 


ま 




置 


國 
疆丁 


(^し 




システム ポー ト #4 


300 


8^98001 


ま 












50〇 コ マン ドポ一 ト 


3 巴 98003 


奉 


1111111 


30〇 データ ポ一 ト 



@1 システム ポート #2 



システム ポート #2 〈 ァ ドレス : さ欧^^カ のビッ ト 配置 を 356 ページの 図 3 に 示します。 ビ 
ット 0, 1 は オプションの 3 スコープ を 制御す るた めの もので, ビッ ト 3 が ディ ス プレイに 
関係す る ビットです。 ビット 3 は, 書き込み 時 は ディスプレイ 制御 信号, 読み出し 時はデ イス 



3 システム ポート ぉ?は^ビ!)!^) 



匕け 7 6 5 4 


3 






刚 




IV 丁 8 し 




30 -し 


30 -^ 



30 スコープ 制御/ステータス 読み出 し 
11 : 左右と も 1X03 已 
10: 右の み 0ド0^ 
01 : 左の み 0(^1^ 
00: 左右と も 巧! \| 



界 ^丁 [時 

1: ディスプレイ 制御 信号 を' 1 'にす る 
0: ディスプレイ 制御 信号 はキ一 ボードからの 制御 信号と 
なる (通常 動作) 
6 ひ 時 

1: ディスプレイの 電源 は 「ド 
0: II 0^1 



プレイの 電源の 01^/0?? ステータス となり ます。 

ビッ ト 3 の 出力 は キー ボー ド からの ディ ス プレイ 制御 信号と ダイ ォー ド & されて います。 
通常, キーボードからの ディスプレイ 制御 信号 は' 'になって いるた め, この ビッ トを 1 'にす 
ると ディスプレイ 制御 信号 は' 1 'に, ,0 'に すれば' 'になります。 これによ つて, キーボード 
がない 状態で も ディ ス プレイ 制御 を 行う こ とがで き ます。 

この ビッ トに' 1 'を 書いた まま にしておく と, ディスプレイ 制御 信号 は' 1 'に 固定された まま 
となる ため, キーボードからの 制御 力 《 行えなくなります。 さらに ディスプレイ 内部で は, この 
信号と ワイヤレス (赤外線) リモコンからの 信号が 尺され るよう になって いるら しく, リモ 
コン による 制御 も 行えなくなります。 通常, この ビッ トは' 'にす るよう にして ください。 



2 システム ポート #4 



システム ポート #4 (アドレス : 求 战^^ァ) のビッ ト 配置 を 図 4 に 示します。 ビッ ト 3 で キー 
ボー ド に対して キー データの 送出が 可能 か 否か を 示します。 通常, キー ボ一 ド から データ 力、' 送 
られ てく ると, IV! ?? は尺& は 6ぱん 6 !"! ^ぉカ 信号 を' 1, (!^が レベル) にし, じ? リ がデ 
ータを 読み取る と で' レベル) に 復帰させます。 キー ボー ド はこの 信号 を チヱ ック し, , 
'になって いると き だけ キー データ を 送る ようにす る ことで, 0?0 が亍' 一 タを 引き取らない 
う ちに 次の データ を 送って しまうよ うな こと を 避けて いる わけです。 



356 



一 ポー ド /マウス 



図 …… 4 システム ポー ト #4(50 巳 (^マ) 




ドッ トク ロック 切り替え 
(通常 は' 'に 固定) 

1 : ^1^1 リセット する 
0: 〃 しなし、 

\^ ^丁已 時 

1: キー データ 送信 可 
: I! 不可 

8 巴/ \0 時 

1 : キー ジャック (キーボード コネクタ) が 差し込まれ ている 
0: II は 抜かれて いる 

システム ポート #4 の ビット 3 に, 'を 書き込む と, この 信号が 強制的に, 1, (し 0^ レベル) 
にさ;^ キ 一ボード は データ 送出が 行えなくなります。 キーボード はキ 一データの 送出 を 行つ 
た 後で 次の キ一 スキャン (キーが 押された のか, 離された のか を チェック する 動作) を 行い ま 
すので, この 状態で はキ一 ボ一 ドカ、 らの ディ ス プレイ 制御 も 行えな く な り ます。 

この ビッ トは 読み出し 時には キ一 ボードの 挿抜 ステータス として 機能し ます。 キーボードが 
挿し 込まれて いると 丁に, 抜かれて いると いになります。 




キーボードからの 入力 データ 



キーボードから 本体に 送られて く る キー データの フォー マツ トを 358 ページの 図 5 に 示し 
ます。 キー データ は キー か寸 甲され たと きと 離された ときの いずれの 場合 も 通知され ます。 下位 
7 ビッ トで 変化が あった キーの キー コードが 示さ^ ビッ ト 7 で, その キー 力 ^甲され たの か 離 
さ れた のか を 示 します。 X 68000 の 各 キーの 配置 と キー コー ドの 対応 は 358 ベー ジの図 6 のよ 
う になって います。 



357 



き 図 …… 5 キ一 データ 



8 厂 63 に 



き 0066 



1: キ一 が 離された 
0: 〃 押された 



キー コード 



拿 図 …… 6 キー 配列と キー コー ド 

ョ【 



62 



70 



2^ 28 20 



5ド 55 56 



01 02 03 04 05 06 07 08 09 0;\ 08 00 00 已 ド 



10 11 12 13 14 15 16 17 18 19 1 ;\ 18 10 



1 已 1 ド 20 21 22 23 24 25 26 27 28 29 



20 2 巳 2 ド 30 31 



35 



57 



32 33 34 



58 59 60 



10 



70 



^50 1 ; 


2 

ふ 




5^ 


5\ 


お 


7 や 


ゆ 


〉 

よよ 


を 


ほ 






85 


丁み 巳 


た リ 


/已 8 I 

ていす 力 


V 


^ な 


1 




ら 


せ 


@ 






(; 丁 8 し 




5 

と 






;さ 




ま 




一'」 






お」 








X 







8 






く 、 
ね 


る 


/1- 


ろ 


5 ほ 丁 




ひらがな 


ズ「1 


化2 




X 闩 


が4 


が 5 


全角 





36 


5 に 


37 


38 


39 


3 八 


38 


30 
3 已 


30 


72 73 



50 


52 


53 


54 




3^ 


40 


41 


42 


43 


44 


45 


46 


47 


48 


49 


4 八 


48 


40 


40 


46 


化 


50 


51 


キ 一コ一 ドは 16 進数 


。お 


記号 

入力 


登録 


4 ヒ! 3 



顧に 


1^15 


05 し 




(; し 8 








^しし 
じド 


80 しし 
贿" 


リ剛 






8 


9 


\ 




サ 






4 




6 








1 




3 




阿 1 


「丁 2 











匿 8 



4 



キー ボードへの 出力 デー タ 



乂 68000 本体から キーボードへ 与える コマンドの 一覧 を 図 7 に 示します。 乂 68000 では, キ 
一 ボー ド 中 の じ? I; がデ イス プレイ 制御 信号 を 発生したり, マウス コント ロー ル 信号 〈1\43 
0X^0 の 制御 を 行う ように している ため, それらの 機能 をサ ポー 卜する ための コ マン ドが多 



358 



一 ボー ド /マウス 



図 …… 7 キー ボー ド への 制御 コマ ン ド 



^1 6 


5 4 


- タ 

3 1 2 1 






機 能 


で' 








『V じ 丁 


1 ^ 

3 し じ0^6 




専用 ディスプレイ (ディスプレイ 丁 ソ) 制御 


で' 


リ' 




,0, 


で' 




鼠 


キ 一ボー ドの マウス コネ ク 夕の! ^150 丁 8 し 信号 制御 


,0, 




で' 


で , 


下 






お 
ゆ 


キ一デ 一夕 送出 許可/禁止 


で' 


'ド 


で' 


'!' 


で' 


,0, 




7X1 


キ 一操作に よる ディスプレイ 制御 モ一 ド 選択 


刃' 


リ' 




'ド 


で' 


丁 


服1〔 


;丁 4 


キー ボ一 ド上 のし 60 の 明るさ 選択 


,0, 




'。, 


ァ 


つ, 


で' 






本体 か らの ディスプレイ 制御 有効/無効 


で' 




で' 


,1 1 




丁 




0卩 丁 2 
田 


0^72 キ 一による ディスプレイ 制御 許可/禁止 


で' 




マ 


で' 


? 1 


巳に 0【 


: し/ \丫 




キーが 押されてから リ ピー 卜 が 始まる までの 時間 設定 


,0, 




丁 


,1 1 


『 


― 1 


1^ 




リ ピ一 ト 間隔 設定 


丁 


全角 


ひら 
がな 




ひド5 


コード 
入力 


ローマ字 


かな 


キ一 ボー ド 上の し已 の 点灯/消灯 制御 



く なって います。 



ディスプレイ コントロール 



X 68000 では, キー ボー ドの 操作に よる ディ ス プレイ 制御 だけで な く , 本体から キー ボー ド 
の (:?じ に 対 して ディ スフ。 レイ 制御 信号の 発生 を 要求す る こと がで きる ようにし ています。 こ 
のた めの コマ ン ドの 一 1 ^ を 360 ページの 図 8 に 示します。 

この コマンド では, 電源の 01^/0?? や, ノ 一 マル コントラストでの スーパー イン ポー ズな 
ど, キーボード からのす 桑 作で はでき ない もの も 含まれて います。 とくに ノーマル コントラスト 
での スーパー ィ ン ポーズ は, 通常の スーパー ィ ン ポーズ 時よ り も 丁 V 画面が 明る くなります の 

で, スーパーインポーズ のとき は, この モード を 利用した ほうがよ いでしょう。 



0, 2 マウス コントロール 信号 制御 



コ マン ドの フォー マツ トを 360 ページの 図 9 に 示します。 ビッ ト で キー ボー ド について い 
る マウス コネクタの ^5^1^ し 信号の 状態 を 選択 します。 マウス は, 1^3(31^ し が 丑ほヒ か ら 



359 



図 …… 8 ディスプレイ コント 口一 ルコ マン ド一覧 



コント ロール 
コ ― ド 


51 "! 1 「丁 キーと 同 
時に 押す キー 


ま 称 

や』、 


機 能 


V? じり 






\ 7^ ^1 ; 


501 


卞 

1 


化1 


在 暑 〔 ボリ 1 ― ズ、 、 1】0 
@ 、ヅ』 、ノュ "ノリ^ 


《 ク 


1 


ゾ0し 00\^11 


II バハ" 


0: 门 ス 




ソ0し ["! 0「17131 


1! ノ 一 つル 


《 0/1 


ひ 1 
ししけ 


し 311 


ネぉ 、ノ々 11,-1 ― | し 

ノ "! "ィ 、ノレ" 4 ソレ 


ゆ 1^0 


「续 虫 七 一な | 、 
、 口 ^ゴ 十 'よし, 


し。 づ0\^ !") 


子 レ 卜" 而? ^^ネ71 せ日ィ 卜 1| 4? ^ ト) 
ノー レし^ 11^4 、ヤノ」^ つし, ノ ノ 广ノ 


^ り 


じ 


1^11^6 


立 吉 ^ ^ ― 卜 
曰 尸〜 ュ に 


やじ/ 




し门 10 


1 ^ 針、 
^ ^ お" 


^ リ 




00 111-1 

01^ りレ 


^ 1 ノ!^ /つ 、ノ^ 1 , 一 々 1*1^-1-71 0^-2 1 レ ク'』 1 ノ、 
スレ し/」 ノしュ ノ曰 1^1 V」 , ゾ 白ん、 「 ノ ノレ ノ 






"ひ じ リ〜【| 


子 レ ビ /タん亡巧 ? 七 71 リ @ミ 1 卜 々リ レ") 

ノ 1^ しズ ク ノ」 リ」 'ノ 白人 〈I ノ ノレ ノ 




(或^ 土 一な 1 ^ 
V ^ 'よし ノ 


13 [? 1ズ 


"!" X 卜 ラス 卜 ノ 一 フ』 し 
~ I ^ | ノ ハ | ノ X ノレ 


508 




04 叩 


千 如、 ノク、 ゾし 110 
ノ 、一 ゾ つ、 ノレ ^ (-' 


500 




1 1-1 パ ハ、" 1^ 
し, 1 0リゅ1 1 


如 、ノ ク、 パノ ("!门…门 
ノ に-^ つ、' レリ リゅ11 


ち [! 








^ 13^ 


(续 ^一な 1 ^ 
、口 久ゴ ャ 'よ しノ 


「リ 〜ピ1 リ 1リダリ「「 


01^/0^^ 1 卜 乃' 1 し) 
电 ズ んヌリ 1 リ ダリ「 「乂 1 ズ ノ レン 


0: 门 に 
ゆ じ 「 


"!" 


し- 3 72 


~7 ― ノ\。 ― ^ ^ 、ノ ポ ― マ'!"!^ | /。「「ぐ ト 々'つし、 つ、 ノト 5 ス レ 々'ゥ 、ノ 

ハ ズ、 | パ 一」、 ハリ 1 リ ダリ「「 、「ノ ノレ ノ, ~ 1,1 ズみ 1 ノノズ 


^ 1 


子、 ノ;^ ― の 1 
ノ," ノ 1 


1 


手 如' ノ" X 1 し 1 

ノ" V ^ '! ン レ I 


4 1 1 

V? 1 1 


II 乙 


「4 ? 
し门 6 


し 


^ 1 
^ 1 レ 


II 

II 


01-1 ス 
し 11 




^ 1 




し门 4 


/1 


ゆ 1 4 


1! 卩 


し门 。 


[: 



4 1 I: 
9 1 


II 


し 11 


に 



《 1 に 


1/ 1 


广!" 1 7 
し门 1 




517 


1! 8 


0^ 8 


8 


818 


II 9 


叫 9 


9 


519 


11 1 


叫 10 


10 


扪 八 


〃 ネ 


01-1 11 


11 


818 


II ― 


01-1 12 


12 


310 


〃 ^ 


叫 13 


テ レ ビ 画面 


310 




04 14 


コ ン ピュ一 タ 画面 


31 巳 


〃 十 


01-1 15 


スーパ— イン ポーズ (^/。「^ ト グル ん コントラスト ダウン 


31 ド 


(該当 キ一 なし) 




II , コントラスト ノ 一 マル 



# 51じ 〜お 「は, XI コンパチ モ一 ド 時の 対応 キ一 を 表記 



図 …… 9 マウス コン トロール 信号 制御 



1)117 6 5 4 3 2 1 6110 



,0, 


'!' 


,0, 


'。, 


で' 




1^30 丁 只し 



1: 1^50 丁 8 し を, 9;8!1 'にす る 
0: 〃 'し。 ヅ 〃 

1.0^ になった の を とらえて データ の 送出 を 開始 します。 



360 



一 ボー ド /マウス 



3 キー データ 送出 許可/禁止 



じ? II が キー データ を 引き取らなかったり, システム ポートで キー ボー ドに キー データの 送 
出 を 禁止したり すると, キーボード は キー データの 送出が 行える ようにな るまで キー スキャン 
を 停止して しまう ため, キー ボー ド による ディ ス プレイ 制御 も 行えな く な り ます。 

このよう な 状態 を 避ける ため, キーボード に対して キー デー タ を 送出せ ず に キー スキャン 動 
作 を 行わせる ようにす るの カザ, この コマ ン ド です。 この コマ ン ドで キー データの 送出 を 禁止す 
る と, キー ボー ドの (:?リ は キー データ を 本体に 送出す るの を やめます が, ディ ス プレイ 制御 信 
号の 発生 は 行います ので, キー ボー ド による ディ ス プレイ 制御 は 通常 どお り 行う ことができ ま 
す。 

コマンド フォー マツ トは図 10 のように なって います。 最下位 ビッ トを' 'にす ると キー デー 
タ 送出が 禁止され 丁 にす る と 通常の!^ 乍 モー ド にな り ます。 

參図 …… 10 キー データ 送出 許可/禁止 



す 


丁 




で' 






[^丫 


曰 







1: キ一 データ 送出 許可 
: II 禁止 



^ ディスプレイ コントロール キー モード 



キー 操作に よる ディ ス プレイ 制御 を, X 1 と コンパチブルな モー ド にす るか 否か を 選択し ま 
す。 コ マン ドの フォー マツ トは図 11 のよう になって います。 

鲁図 11 ディスプレイ コントロール キー モード 



で' 


,1, 


,0, 


リ, 


,0, 


-0 1 




ズ68 《/巧 







1 : ズ68000 モー ド 
0: XI コンパチ モード 



361 



通常の モー ド 〈X 68000 モー ドと 呼ぶ ことにします) と X 1 コンパチ モー ドの 違い を 図 12 に 
示します。 乂 68000 モードで は, スーパーインポーズ や 入力の 切り替えが, データ を 送る たび 
に トグル (ぉな: に 切り替わる) します 力 5 ', X 1 コンパチ モー ド では, キー入力 によって スーパー 
イン ポーズ, IV, コンピュータの 選択になります。 



図 …一 12 丁 V コントロール 操作 



5 !" II ド丁キ 一と 
同時に 押す キ一 


ス68000 モード 


XI コンパチ モ一ド 




十 




スーパ一 インポ一 ズ 0~ル「「 1 トグル) 


スーパ— ィ ン ポーズ 








丁 V /外部 入力 切り替え (トグル) 










丁 V /コンピュータ 切り替え (トグル) 


コンピュータ 



5 し 50 明るさ 選択 



キーボード 上の し 20 の 明るさの 選択 を 行います。 コマンド フォー マツ トは図 13 のように 
なって います。 下位 2 ビ ッ ト で 120 の 明 る さ を 4 段階に 調整で きます。 



, 図 一… 13 し 5X1 明るさ 選択 



で' 


つ' 


,0, 


'!' 


で' 


'!' 


86164 丁 



キ一 ボード 上の し 巴 の 明るさ 
11: 喑ぃ 
10: やや 喑ぃ 
01: やや 明るい 
00: 明るい 



362 



キー ボー ド /マウス 



本体からの ディ ス プレイ 制御の 

有効/無効 選択 



本体から キー ボー ドに 要求す る ディ ス プレイ 制御 コマ ン ドを 受け付け るか 否か を 選択し ま 

す。 コマンド フォーマット は 図 14 のように なって おり, 最下位 ビット (ビット 0〉 を' 'にす 
る と, 制御 コマ ン ド 力 5 ' 無効に な り ます。 

參図 …… 14 本体からの ディスプレイ 制御 有効/無効 



6 5 4 3 2 1 匕け0 


で' 


ァ 


で' 


,1, 


'!' 


,0, 




。丁 8 し 巳^ 







1 : 本体からの ディスプレイ 制御 有効 
0: II 無効 



0? 丁 , 2 キーに よる ディスプレイ 制御 
許可/禁止 



コ マン ドの フォー マツ トは図 15 のように なって います。 キー 操作での ディ ス プレイ 制御 は 
通常 5111? 丁 キー を 用います が, 0? 丁 2 を 3111? 丁 キーの 代用と して 使う こと もで きる よう 
になって います。 この コマンド は, この 0? 丁 2 キーに よる ディスプレイ 制御 を 許可す るか, 禁 
止す るか を選キ 尺す る ものです。 

參図 …... 15 0卩 丁 マ キーに よる ディスプレイ 制御 



リ17 6 5 4 3 2 1 1)110 



で' 


'!' 


つ' 


,1, 


'!' 


,1, 




0^7.2 已^ 







1 :0? 丁 』 キーに よる ディスプレイ 制御 許可 
: II 禁止 




8 



キー リビー ト 開始 時間 設定 



コ マン ドの フォー マツ トは図 16 のように なって います。 キー を 押し 続けた とき, キー リ ピー 
ト が 開始 される ま での 時間 を 設定し ま す。 
下位 4 ビットに よって, リ ピー ト開 始ま での 時間 を 200 1115 か ら 1700 1115 まで 100 013 単位 

で 設定す る こと がで きます。 キー ボー ドが リセット さ れた とき は, こ の 時間 は 500 1113 に 初期 設 

定 されます。 

參図 …一 16 キー リ ピー ト 開始 時間 設定 



13(17 6 




4 


3 2 1 13110 


,0, 


,1, 


,1, 


,0, 


6 巳に 三し ^丫 



キ一 リピート 開始までの 時間 



200 十 は巳! 3 . ビし ム丫) X 100 (①ョ) で 算出され る 
(リセ ッ ト時は 500 の 5〕 



9 キー リビー ト 間隔 設定 



コマンドの フォー マツ トは図 17 のように なって います。 キー リ ピー トの 間隔 を 301115 
~1155 1115 の 間で 設定す る ことができます。 キーボードが リセ ッ ト された とき は, この 間隔 は 
1101113 に 設定され ます。 



図 …一 17 キー リピート 間隔 コマンド 



1)117 


6 




4 




2 1 13110 


! ! 


,1, 


'!' 


'!' 


肝. 丁 鼠 



キ一リ ピート 間隔 

30十〔 ぼに 丁 旧に) 2 X 5 (のミ) で 算出され る 
(リセ ッ ト時は 110 巾 ミ) 



364 



: 一 ボー ド /マウス 



|0 キーポートし 50 制御 



キーボード 上に ある し 20 付きの キーの し 20 点灯/消灯 を 制御し ます。 コ マン ド フォー マツ 
トは図 18 のように なって います。 下位 7 ビッ トカ 《それぞれの キーに 対応して おり, ビッ トカ 5 '丁 
のとき 消灯, '(! 'のとき 点灯 します。 



咽 …… 18 



-ボー ド し 匚0 制御 





全 角 


ひらがな 


11^5 


ぼ 5 


コード 入力 


口一 マ 字 


か な 



各 キーの し 巴 の 点灯/消灯 制御 
1 : 消灯 
0: 点灯 



5 



ディスプレイ 制御 信号 



キー ボー ド からの ディ ス プレイ 制御 信号が きていな いとき や, キー ボー ド コネクタ 力 吋 友け て 

いる ときには, システム ポート #2 のビッ ト 3 を 制御して ディスプレイ 制御 信号 をつ く り 出せ 
ば, 本体 だけで も ディ ス プレイ 制御 を 行う こ とがで き ます。 

ディスプレイ 制御 信号の フォー マツ トは 366 ページの 図 19 のようにな つてい ます。、 1 回の 
データ 送出 は 4 8 1^ の 間隔 をお いて 表 信号 と 裏 信号 を 送る ことで 行われます。 表 信号 と 裏 信号 
の データの 内容 を 図 20 に 示します。 裏 信号 は 基本的に は 表 信号の 反転 データで あ り, ディ スプ 
レ ィ 側で は こ の 両方が 正 し く 受け取れ たの を!; 鶴 & してから コマンド を 実行す る ことで ノイズ 等 
による!^ I: が 乍 を 防いで いる わけです。 

ディ ス プレイ 制!^ 言 号の 各ビッ トの 情報 は, 単純に データの 1/0 を 信号の 1/0 に 対応 させて 
いるので はなく, 図に 示した ように, 250 バ 5 幅の パノ レスの 後, 次の パノ レスまで 何 加 3 の 間隔 を 
あける かとい う ことで 表すよう にして います。 

これらの— か; 去 は ワイヤレス リモコンで 行われて いる 方法です。 ディスプレイ 内部で は' ワイ 



図 一… 13 ディスプレイ コントロール 信号 



ディスプレイ 
コントロール 信号 す. 





48 [! 15 


48^5 


















表 信号 




裏 信号 







各 ビットの 波形 





1 [! 15 


2^15 


| 250/^5 




















データ' り' 




1 ト 







, 図 …一 20 ディスプレイへの 送出 データ 



信 号 


ディスプレイに 送出す る データ (左側の ビッ ト から 順に 送出され る) 


01 


2 


3 


4 5 


6 7 8 


9 


010 


011 


ド 


表 信号 


,0, 


,0, 


,0, 


ディスプレイ 


コントロール コード 


,0, 


,0, 


で' 


,0, 


裏 信号 




1 1 


, 0, 


ディスプレイ コントロール コードの 反転 


, 1 , 


, 1 1 


, 1 1 


, 1 , 



ャ レス リモコンから 受け取った 信号と 本体から 送られて く る 信号が 単純に 尺 されて リモ: 
ン データと なって いるよ う です。 



# 6 



キーボードの 特殊機能 



本来の 用途と は あま り 関係 あ り ません が, キー ボー ドか持 つてい るお まけ 的な 機能 を 紹介し 
てお きましょう。 







し 曰 の 明るさ 指定 



キ 一ボ一 ドを リセ ッ ト するとき (キーボード を 抜き 挿し するとき) に !^:!) の 明るさ 選お— く か-行 



366 



キー ポー ド /マウス 



えます。 



, 何も 押さないで' 立ち上げた とき : 明るい 

4? 3 を 押しながら 立ち上げた とき : やや 明るい 
~ X? 4 を 押しながら 立ち上げた と き : やや 暗い 
~ X? 5 を 押しながら 立ち上げた とき : 暗い 



2 し 巳 チェック 



? 1, ? 2, ? 3 の 3 つの キー を 同時に 押しながら キーボード を リセット すると, し 20 が 点滅 
を 繰り返します。 この 状態で は, キーボードからの 入力な ど はまった く 行えません ので, 使用 
する とき は キー を 押さない 状態で 再度 キー ボー ド リセット を 行って く ださい。 



7 



マウス 制御 



マウス は, マウス 制!^ 言 号 (信号 名 : ^巳じ丁尺" が 只世ヒ から し 0吸 に 変化す る と, ステー 

タス, X 方向 デー タ , X 方向 デー タの 3 バイト データ を 送って きます。 マウス 制御 タ イミ ング 
の 規定な ど を 368 ページの 図 21 に 示します。 

マウス データ 信-号 (信号 名:] 八丁 八) は 本体の マウス コネクタと キーボードからの もの 
が 単純に 接続され ている だけです が, ^5じ 丁 尺し 信号 は 本 《本 側 力 《 50:, キー ボー ド側は キー ボ 
ード 内の じ?1! で' 制御 される ようになつ ている ため, マウス 力 《 どちら に 接続され て いても よい 
よ う にす るた めに は, 500 と キー ボー ドの 両方で 皿ミじ 丁 尺し 信号 を 操^ ^ する 必要が あ り ます。 

マウスから 送られて くる X 方向, V 方向の データ は 符号 付き 2 進数で' 卵0 が一 128, 57? 
が +127 を 示します。 この データ は 前回 データ を 送 り は じめ た 時点からの 相対的な 移動 量 を 示 
します。 

マウス データの先頭 パ-ィ ト である ステータス データの フォー マツ トは 368 ページの 図 22 の 
ようになって います。 上位 4 ビット は それぞれ X 方向, X 方向で ァ ン ダフ 口 一 (移- 9 遗 がー 129 
以下に なって しまい, 移 !)]!: データで は 表現し きれ なくなった) や オーバ フロー (移- 8爐 が 十 
128 社に なつ たため, 移動 11 デー タ では 表現 しきれ なくなつ た) を 検出す ると, 該当する ビッ 



図 … 21 マウスの データ 転送 タイ ミ ング 



500 お 5 以上 



500 が 以上 



700^5 以上 



^ゆ- 



1^130 丁 ぼ 




ウスの ステータス データ 



6 5 4 3 2 1 1)1(0 



丫 隱し 


丫 0ゾ 「し 


X リぼレ 


X 0ソ厂 し 


で' 


5^-1 


5^-8 



1 : 右 スィッチ 0^ 
0: 右 スィッチ 「ド 

1 : 左 スィッチ リ 
0: 左 スィッチ 「ド 

1 : X 方向が 才一バ フローした 〔X 方向の 移動 量が 十 リ 8 以上) 
0: /1 していない 

1 : X 方向が アン ダフ ローした 〔X 方向の 移動 量が— 129 以下) 
0: I! していない 

1 : 丫 方向が 才一バ フローした (丫 方向の 移動 量が 十 128 以上) 
0: 〃 していない ^ 

1 : 丫 方向が アン ダフ 口一 した (丫 方向の 移動 量が— 129 以下) 
0: II していない 



368 



一 ボー ド /マウス 



卜が 丁 になり ます。 

ビッ ト 1 と ビット は, マウスの 左右の スィ ツチの 状態 を 示します。 ,1 'のとき スィ ツチ 力 4 甲 
されて いる こと を, で 'のとき 離れて いる こと を 示します。 



プリンタ 



14 どン とい ヲ, 小さな コネクタに まとめられた プリンタ イン 
タフ エース は XI と コンパチブルな ものと なって います。 ご 
こで は, プリンタ インタフェースの 構成と, インタフェース 
信号に ついて 説明し ます。 



1 



一 スの 概要 



X 68000 では, プリ ンタと して セン ト ロニ クスィ ンタ フェース 職の もの 力せ 妾 続で きる よつ 
になって います。 乂 68000 の プリ ン タイン タフ エースの ブロック 図 を 372 ページの 図 1 に 示し 
ます。 〜?八 7 は 8 ビットの データ ライン, 5 丁^ 082 は プリンタ に対して データの 引き 
取り を 要求す る もの, 8リ5 丫 は プリ ンタ; ^次の データ を 受け付ける 準備が できて いるか どうか 
を 示す 信号です。 X 68000 では 8113 V 信号 を 1/0 コントローラに 入力し, ビジー 状態から レ 
デ ィ 状態への 変化 审 (次の デー タ 転送が 行 える ようになった とき) に 割 り 込み を 発生す る こと 
もで きる ようになって います。 

セント ロニ クスィ ン タフ ヱ ースを 採用して いる プリ ンタ は, ほとんどが プリ ンタ 上の 
521.207 スィ ツチ ゃ& 1: 刀;! 1^ 態, データ 引き取り 完了 ノ 、。ルスな ど を 個別の 信号 線で 出力 して 
いるので すが, 乂 68000 では これらの 信号 は 使用して いません。 乂 68000 側で は 81)57 信号 
によって ビジー (データ 引き取り 不可) か, レディ (データ 引き取り 可) か を チヱ ック し, 一 
定時 間た つても ビジーの ままで あれば, タイムアウト エラーと して 処理す る ことにな り ます。 



371 



會図 …… 1 プリンタ インタフェース ブロック 図 



お 80001 



アクセス 




祀 80003 ビット 0- 
^90001 ビット 5ー 



ケ 



^ サ 



八し 5 244 



01 プリンタ 制御 タイミング 



プリ ンタ 制御の タイ ミ ング例 を 図 2 に 示します。 5 丁 信号 は 丁, プリ ンタ からの 81; 
37 信号 は' 1 'になって いるもの とします。 なお, ここでの' 1 'や' 'は ポートに 書き込んだり, 
ポートから 読み出される データ を 指します。 

まず, 8115丫 信号が ': I, になって いる (プリンタが レディ 状態で ある) こと を? 窗認 して, 
?八 〜?八 7 に プリンタに 送りたい データ をセッ ト します。 次に 5 丁& 082 信号 を で 'にす る 
と, プリンタが データ を 引き取る ため, 8 じ 5丫 が' 'になります ので, これ を 見て 5丁1?082 
を '匸 に 復帰させます。 プリンタ 側で データが 引き取られ 次の データ 引き取りの 準備が でき 
ると, 8113了 力" 1 'に 復帰し ます (必要ならば, この 時点で 割り込み を 発生させる こと もで き 
ます)。 X 68000 側 は 81157 力い 'に 復帰した の を 見て, 次の データの 送出 を 行う わけです。 

81;5丫 信号が' 1 'になって いる 期間 は プリ ンタ 側の 都合で 決まる もので あり, どの^に な 
るか はわ かりません。 また, 実際に は 8115丫 信号 を チェック せずに 51^082 を'!)', でと 
連続して 変化 させて, 81;3丫 が' 1 'になる の を 待つ というお 去が よく とられて いるよう です。 



プリ ンタ 



,図 …… 1 プリ ンタ 制御 タイ ミ ング例 



5 丁 808 ビ 



81)5 丫 



'印 ゆ' 



】 



割り込み 発生 



デ一タ をま已 80001 に セット 
I ズ0 コントローラの ポート は [冗 000 で 読み出される 状態 




プリンタ 関連 ポート 



プリ ン タイン タフ エースに 関連す る ポートの 一覧 を 図 3 に 示します。 プリ ンタに 送る データ 
は 32001 にセッ ト し, 5 丁!? 082 信号 を 52003 で 制御し ます。 

プリ ンタ からの 81)5 丫 信号が ビジー 状態から レディ 状態へ 変ィ 匕した ときに 割り込み を 発生 
させる ことができる ほ 力 \ 5290001 の 上位 ビッ トで ステータス として 読み出す こと もで きる よ 
う になって います。 



図 …… 3 プリンタ 関連 ポート 



ァ ドレス 




5117 ^5,5,^,3,2,1 | 6110 


備 考 


5^80001 




111111 




プリ ンタ データ 


5 匚 8(2003 


















57^0 


プリ ン タス ト ローブ 


3^90001 




ぽ 
^丁 


「00 
1 リ丁 


^丁 
^丁 




③ 


ぼ 


「001 
印 


〜丁 1 
印 


割り込み ステータス 












ひ 


は 


「001 
印 


ぼ 1 
ビ~ 


割り込み マスク 


お 0003 




ソ6は 






巳 V 


に已 


割り込みべ ク タ 



373 







リン タ データ ポート 



プリ ンタに 送出す る データ をセッ 卜します。 3 丁!? 082 を 操作す る 前に 
タを セット してお くように してく ださい。 



: の ポートに デー 



@ 2 プリンタ スト ロープ ポート 



フ 'リン タスト 口 ーブ ポー 卜の ビット 配置 を 図 4 に 示し ま す。 最下位 ビ 
の 制御 ビッ ト となって おり, ': ['にす ると 3 丁^ 082 信号が II 时 
レベルに なり ます。 



トが 5 丁 尺 082 信号 
こ, で 'にす る と 乙 0が 



I 図 …… 4 プリンタ ストローブ レジスタ は ひじ!)") 




1 : 5 丁 608 已ィ言 号 を '^!^' 
0: II 'し 说' 



: する 



^ 3 割り込み 信号 ステータス 



害 II り 込み 信号 ステータス ポートの ビッ ト 配置 を 図 5 に 示します。 上位 4 ビッ トは各 割り込み 
要因が 発生して いる 力^か を 示す ビッ ト, 下位 4 ビッ トは 割り込み マスク レジスタに 書き込ま 
れた 値が そ のま ま 読み 出 されます。 

このうち, ビット 5 カフ' リン タの 割り込み 要求 状態, すなわち, 8リ3 丫 信号の 状態 を 示し, 
ビッ ト 力 3 フ 'リ ンタ からの 割り込み 力 ^ マスクされ ている か 否か を 示して います。 

プリ ンタの 割り込み は, 8115 丫 信号が ,0, から !' に 変化した ときに 発生し ます。 割り込み 
マスク レジスタ によって プリンタ 割り込みの 発生 力 《禁止され ていても, ビッ ト 5 に は 8じ3丫 
信号の 状態 力 5 ' 反映され ますので, これ を 使って 割り込み を 使用せ ずに プリ ンタの 制御 を 行う こ 
と もで きます。 



374 



プリ ンタ 



図 …… 5 割り込み 信号 ステータス (ま曰じ!)!)】) 



1)11 7 6 5 4 3 2 1 ヒは 



ド00 


^00 


^丁 


1-100 


1-1001 


「001 


ド 001 


叩 丁 1 


^丁 


^丁 


^丁 


1 町 


ひ 


[:^ 


ビ^ 


が 



1: プリンタ 割り込み 許可 中 
0: II 禁止 中 

1 : ド00 害 I」 り 込み 言 午 可 中 
0: I! 禁止 中 

1 : 「00 割り込み 許可 中 
0: II 禁止 中 

1 : 剛割り 込み 許可 中 
0: I! 禁止 中 

1:400 割り込みが 発生して いる 
0: II していない 

1 : プリ ンタ 8リ5 丫 信号 : 'し 0ヾ (昍ゅ丫 状態) 
0: 〃 = '印 ゆ' (ら リ 5 丫 状態) 

1: 「00 割り込みが 発生して いる 
0: ,1 していない 

1: 「00 割り込みが 発生して いる 
0: II していない 



0/1 割り込み マスク 



1/0 コントローラ か 管理して いる 各 割り込み 要因 ごとに, じ? II への 割り込み 要求 を 行う か 
否か を 決める レジスタです。 この レジスタの ビッ ト 配置 を 376 ページの 図 6 に 示します。 

プリ ンタの 割り込み 制御 はビッ ト で 行います。 この ビッ 卜が 丁 になって いると プリ ンタ 
割り込みの 発生 か 1 午 可に, で' になって いれ は" 禁止に なり ます。 



0-5 割り込み ベクタ レジスタ 



1/0 コントローラ の 割 り 込みべ ク タ 設定 レジスタの ビット 配置 は 376 ぺー ジの図 7 のよ つ 
になって います。 この レジスタ は, 割り込み 発生 時に (:?リ に 与える ベクタ 番号 を 設定し ます。 
上位 6 ビット は 任意に 設定 可能で, 下位 2 ビット は 割 り 込み 要因に よって 自動 勺に 変化す るた 
め, じ? II からの 設定 は 無効に なり ます。 プリ ンタ からの 割り込み カ^き 化した とき は, 下位 2 ビ 



375 



図 …… 6 割り込み マスク ほ 巳 ョじ^ 1 ) 



1)117 6 5 4 3 2 1 ヒ は 



で' 


1-1001 




「001 


71 


ひ 


ひ 


已! \| 


三^) 



1: プリンタ 割り込み 許可 
0: II 禁止 

1: ド 00 割り込み 許可 
: I! 禁止 

1: 「[^ 割り込み 許可 
: II 禁止 

1:900 割り込み 許可 
0: !/ 禁止 



き 図 …… 7 割 り 込みべ クタ (ま曰ぴ!!ョ) 



き 



任意 設定 可 



11 : プリンタ 割り込み 
10: ハードディスク 割り込み 
01 : 「00 割り込み 
00: 「00 割り込み 



ッ 卜が' 11, になった ベクタ 番号が じ?!; に 渡されます。 



376 



ジョイスティック 



標準で 用意され たジョ イス ティ ック インタ フエ ース は, ぃダ 

れ もァタ リ 社の 規格に 準 じた も のとな つ ています。 X 68000 1 
では, サイバー スティックの 接続な ど, 汎用の デジタル 1/0 
としても 利用され る 傾向に あ リ ま す。 



: ースの 



概要 



X 68000 の ジョイ ス ティ ッ クイン タフ エースの ブロック 図 を 378 ページの 図 1 に 示します。 
ジョイスティック インタフェース は 8 ビットの ハ 。ラレ ル ポート (ポート 八, ポート 8, ポート 
(: と 名前 力り けられて います) を 3 つ 持って いるし 51, パ? 08255 を 使用して います。 このうち 
ポート じ の 下位 4 ビット (?じ。 〜? じ 3〉 は, 八 0?じ1^ [の パン ポット 制御 や サンプリング クロ 
ックの 選択に 使用し, 残り を ジョイ ス ティ ックに 割り振って います。 

X 68000 に は ジョイスティック コネクタが 2 つ 設けられて いま す 力、 このうち ジョイ ス ティ 
ック #1 はバ? 8255 の ポート 八と? じ 4, ? じ 6, ? じ 7 で, ジョイスティック # 2 は ポート 8 
と ? じ 5 で 制御され るよう になって います。 

ポート 八/ポート 8 は, ジョイ ス ティ ッ クの レバーの 向いて いる 方向 や ト リ ガボ タンの;! 犬 態 を 
読み出す も のです。 ? じ も ?じ 5 は ジョイスティック の 操^ 効/無効 制御に 使用 され この ビ 
ッ ト カジ 1, ('只は ビ レベル) になって いると, ジョイ ス ティ ッ クはス ティ ックゃ ボタンの 状態 を 
通知し なくなり ます。 

ジョイ ス ティ ック #1 は, ? じ 6, ? じ 7 によって オプション 機 食" 寸 きの ジョイ ス ティ ック にも 



377 



図 …… 1 ジョイスティック インタフェース ブロック 図 

ヌド 08255 

I 丁。 




;\0^:^ ノ、 。 ン ポット 制御 



^0?0^ サン プリン グク ロック 選択 



タす応 している のです 力、 ^^的な 4 方お 十2 トリガ タイフ。 の ジョイスティック では, 
を 必要と しません ので', どちらの ジョイ ス ティ ック コネクタ でも 使用で きます。 



の 機能 



ジョイ ス ティ ック 




ジョイスティック 関連 ポート 



ジョイ ス ティ ックに 関係す る ポー 卜の 一覧 を 図 2 に 示します。 ジョイ ス ティ ックは 
〃:? 8255 ひとつ だけで 制御され ており, 割り込みの 発^ 能な ども あり ません ので, すべて 
8255 の ポートに なって います。 



図 …… 2 ジョイスティック 関連 ポート 



ポー ト 


ァ ドレス 


6117 


6 


5 










1)110 


備 


考 


8255 ポー 卜 ^ 


お 9 八 001 




8 


丁^ 
八 




8 隨 


しび 丁 


8 八 (; ば 


「0ト 


ジョイ ス ティ 


ック #1 


8255 ポ一 ト 8 


お 9 八 003 




丁お 
8 


丁!^ 
八 




闘 丁 


しび 丁 






ジョイ ス ティ 


ック せ 2 


8255 ポー 卜 


3^9^005 


1007 


1006 


1005 


1004 


53171 


丁已 


, 


關 


ジョイ ス ティ 、 


ノク コント ロール 


8255 コ ン トロ 
一 ルヮ一 ド 


5 & 9;\007 












1 —— 




8255 動作 モー 


ド 7 ビッ ト 操作 



か 1 ジョイスティック #ひ# 2 



ポートん ポート 8 は ジョイ ス ティ ックの 状態 を 読み出す ポートです。 ビッ ト 配置 は 380 ぺ 
一 ジの図 3 のように なって います。 下位 4 ビッ トがス ティ ックの 方向 を 示す データで, ス ティ 
ッ クが 傾けられる と, その 方向に 取り付けられた スィ ツチが 0~ になり,' '力 1 売み 出されます 。 
また, ビッ ト 5 と ビッ ト 6 は, それぞれ ト リ 力' ボタ ンの八 ボタ ン' 8 ボタ ンに 対応して お り' 
ボタ ンカ 、、押される と, で' か 1 売み 出されます。 

ビッ ト 4 とビッ ト 7 は ブロック 図で も 示した とおり, コネクタに は 出力され て おらず, 抵抗 
で プル アップされ ている だけな ので, つねに 1 '力 5 読み出されます。 



0-2 



I ール 



ポート (: は, ジョイスティック の 操作の 有効/無効 制御 や 八!)?。] VI のノ 、。 ン ポ ッ ト 制御な ど に 
使用され ています。 ビッ ト 配置 は 図 4 のように なって います。 
ジョイスティック の 制御に 関係す るの は 上位 4 ビットで, このうち ビット 4 , 5 は, 1, を 書 



379 



I 図 '一'' 3 ジョイスティック #ひ#2 



枣ョ删 




丁 86 6 


丁!^ 八 




丁 


し [「丁 


8 職 


「0 只 画 
















お 9 八 003 




丁^ 8 


丁^ 八 




8161 "!丁 


し 巳 「丁 


8^0^ 


「0 嶋ほ 



ジョイ ス 

ティ ック #1 



ジョイ ス 
ティ ック #2 



スティックが 向いて いる 方向 
1 : 該当する 方向の スィッチ は 押されて いない 
0: I! 押されて いる 



1: トリガ 六 ポタン は 押されて いない 
0: 〃 押されて いる 



1: トリガ 8 ボタン は 押されて いない 
0: 〃 押されて いる 



》 図 …… 4 ジョイ ス ティ ック コント ロール は 八 !)!^) 



1007 


1006 


1005 


1004 







1 : ジ 
0: 通常 動作 



1: ジョイスティック #2 操作 無効 
0: 通常 動作 



1: ジョイスティック #1 オプション 機能/ \ 動作 
0: 通常 動作 



1 : ジョイスティック # 1 ォプシ ョ ン 機能 8 動作 
0: 通常 動作 



出力 切り 替; 
サン プリン グ周 波 数 切 り 替え 
ク #1 操作 無効 



き 込む と ジョイスティック の 操 竹ー 犬 態が 入力 されなくなります。 

ビット 6 , 7 は, ジョイスティック # 1 カ嚇 つてい るォ プショ ン 機能 用の ビ ッ ト で, ト リ ガボ 
タ ン 信号 を 出力 と して 利用す る ものです。 この ビッ ト に 丁 を 書き込む と, ト リ ガ ボタ ン 用の 
信号 線が で' (し 0讽 レベル) にな り ます。 通常, この ビッ ト は ,0, にす る ようにし てく ださい。 



380 



ジョイスティック 



3 コントロール ワード 



コントロール ワード レジスタ は, パ? 8255 の 初期設定 ゃビッ トセ ッ ト /リセ ッ ト 機能の 制 
御に 使用し ます。 バ? 8255 はたんなる 入出力 ポー ト と しての 動作の ほか' パラ レル データ 伝 
送に 対応した ような モード も 持って います。 乂 68000 では, バ? 8255 は ジョイスティック ィ 
ンタ フェース となって いる こと や, 下位 4 ビッ トが 八!)? 0\4 に 使用され ている ため, データ 伝 
送に 使う の は少々 苦しい ようです 力 5 ; —応 それらに ついても 説明して おく ことにします。 



01 



ビット セット/リセット モード 



コントロール ヮー ドに誉 き 込まれる データの 肚 位ビッ ト 力 5 '' 'になって いると' バ? 8255 
はビッ トセ ッ ト /リセ ッ ト コ マン ド として 受け取り ます。 ビッ トセ ッ 卜/リセ ッ ト コ マン ド では, 
ポート (: のうち, 出力 と して 動作して いる 任意の ビッ ト を ,1 'や' り' に 設定で き る ものです。 こ 
のとき の コマンド フォー マツ トを図 5 に 示します。 

ビッ ト 1〜 3 で? じ0 〜! X: 7 のい ずれ を 操作す るの か を, ビッ ト で その ビッ トに 設定す る 
値 を 指定し ます。 



齡図 …… 5 コン トロール ヮ一 ド (ビッ トセ ッ 卜/リセ ッ ト) は 曰 八 (!!!了) 



操作す るビッ ト 位置 
111: 1=07 
110: ? 05 
101 : ? 05 
100: ? 04 
01 1 : ? 03 
010: ? 02 
001 : ? 0\ 
000: 900 



1)14 







1 1 ! 




1 1 




81 丁 3 にし 


八丁/ \ 



セットす る データ 



381 



02 



モード 設定 コマンド 



コントロール ワードに 書き込まれる データの;^ ヒ位 ビッ ト 力ぐ 1 'になって いると, パ? 8255 
の 動作 モード 設定 コマンドになります。 この フォー マツ トを図 6 に 示します。 

バ? 8255 は, 3 つ 持って いる ポート を, 大きく 2 つの グループに 分けてい ます。 ポート 八 
と ポー ト (: の 上位が グループ 八, ポー ト 8 と ポー ト (: の 下位 をグ ルーフ。 8 と 呼んで います。 こ 
のう ち グループ 八 は, 動作 モー ドを 3 つの 中から 1 つ, グループ 8 は 2 つの 中から 1 つ を 選択 
する ことができる ようになって います。 

コント ロール ヮー ド では, ビット 〜 2 が グループ 8, ビット 3 ~ 6 が グループ 八の モー ド 
設定に なり ます。 



モード 

モード はもつ とも 単純な 入出力 ポー ト と して プロ グラムす る も のです。 X 68000 では, 通 
常 グルー フ 。八, グループ 8 ともこの モードで 使用し ます。 この モードで は ボート 八, ポート 8, 



6 コント 口一 ル ワード (モード 設定) は 曰9 八 (!!)?) 



リ' 


61*011(3 八 ^0^6 


? ぼ ム 


曙 0(91 ゆ) 


6「0 叩 8 


剛丁 8 


? 0^1 0(10^; 




1ま リ丁 


1(^/0 じ 丁 


リ0 づ 6 


1门ノ0リ 丁 


1^1/011 丁 



1: ポート じ (下位) は 入力 
0: !! 出力 



1: ポート 8 は 入力 
0: け 出力 



グル 一プヨ (ポート 8 と ポート (; の 下位) の 動作 モード 
し モード 1 
0: モード 



1: ポート 上位) は 入力 
0: I! 出力 



1: ポート^ は 入力 
0: ! I 出力 



グループ 八 (ポート/ \ と ポ- 
1 ~ 



~ (: の 上位) の 動作 モード 



10 
01 
00 



丄 モード 2 

モード 1 
モード 



382 



ジョイ ス ティ ック 



ポー ト じ の」 : 位 4 ビット, ポート じ の 下位 4 ビットの そ れぞれ につ いて 入力に する 力、 出力 に 
する か を 個別に 設定で きます。 

X 68000 では 通常, ポー ト 八 と ポー ト 8 はと も に 入力, ポー ト じ は 上位, 下位 とも 出力と し 
て 使用し ますので, コ ン ト ロール ヮー ドには 392 を 書き込みます。 

乂 68000 の インタフェース では, ポート 八, ポート 8, ? I ? じ 5 はたんに コネクタと 直 
結され ている だけな ので, ジョイ ス ティ ック ポートに 自作の 周辺 装置な ど をつな ぐと きに' ポ 
一ト^ や ポート] 3 を 出力と したり, ポート (: の 上位 (? じ 4 と? じ 5〉 を 入力と して 使用す る こ 
と も 可能です。 

モード 1 

モード 1 は, プリンタ インタフェースの ような, パラレル 伝送 を サポート する モードです。 
制^ II 号と して ポー ト (: を 使います ので, 乂68000 では, この モー ドが 使用で きそうな のはグ 
ループ 八 側 だけです。 ですから, ここで は グループ 八に ついて 説明して おきます。 

モー ド 1 では, 入力 用と して 動作す るか 出力 用と して 動作す るか は, コ ン ト ロール ヮー ドの 
ビット 4 (ポー ト 八の ェ!^/。!!!^) で 決ま り ます。 

入力 用と して プログラムした ときと, 出力 用と して^ 1 ログ ラムした ときの 8 力作 を 384 ページ 
の 図 7 と 図 8 に 示します。 図で は 制御 信号 類 は, 一応 グループ 八, グループ 8 の 両方の もの を 
記入して おき ま したので', 自ィ 微 器で パ! 5 !) 8255 を 使うよ うなと きの 参考に して ください。 

入力 動作 時 

入力 用に したと き は, ? じ 4 が 外部からの データ 引き取り 要求 信号 ほ 丁 ョ), ? じ 5 がバ ッフ 

ァ にデー タが 入って いるか どうか を 示す 信号 〈18? : I 叩 ぱ 611^61~ ? 1110 として, ? じ 3 力 5 ' 

0?11 への 割 り 込み 信号 ひ1^ 丁 尺) と して 動作 します。 X 68000 では ? じ 3 は ル 0?じ1 に とら 
れ ている ため, 害!] り 込み 発生 は 行えません が, ステータス チェックで なんとか 動作させる こと 
はでき るでしょう。 

外部から データ を 〜?八 7 にセ ッ ト して 3 丁 8 を '乙 0^, にす る と' バ? 8255 はデー 
タを 取り込む のと 同時に 18? を '! 1;8 ビ にします。 相手が これ を 見て 3 丁 8 を '出 8 ビ に 戻す 
と, バ? 8255 は 1X1^ を' 1 'にします。 じ? リ が ポート^ を 読み出す と' IX 丁 尺, 18? とも 
自動的に 'し 0^, レベルに 復帰し ますので, 相手 は データが じ? リ に 引き取られ たこ とがわ か り 
ます。 

この タイ ミ ングを プリ ンタの 動作 タイ ミ ングと 比べる と, 非常によ く 似て いる ことが わかる 
で' しょう。 



383 



図 …… 7 モ一ド 1 (入力 モ一 ド) 



II 



ン データ 入力 



I 隱 (八: !剛) 

― 518 

"- 18 ド 



5 丁 8 (^/!^) 



18 ゆ じミ扣) 



^丁 [^(^^/(^!]) 



30 

(データ 取り込み) | 

(ぴリ が ポート/ \ を 1^3(1 す る 〕 

出力 動作 時 

この モードで は, ?じ 3 が (:?じ への 割り込み 要求 信号 (め 丁 尺), ?じ7 が 出力 データセット 

完了 ステータス 信号 のョ? : 0ひ ゆ 11セ 811 が ぼ? ひじ), ? じ 6 カ湘 手から データ 引き取り 完了 信 

号 (八 じに) になります。 出力 &胙に プログラムした 場合に は? じ 6 カ湘 手からの 入力信号 にな 
るので すが, X 68000 では ? じ 6 は 出力 と して しか 使用で き ません ので', この モー ドは 使え ませ 
ん。 

データ を ポート 八に 書き込む と, 11\ [丁!^ カジし 讽 'になる とともに, 08? が' 化ゅ 'になり, 
出力 データ 力、' 用意され たこと を 示します。 相手が これ を 受け取り, 八 じ X を 返す と, 08? は' 
1, に 復帰 し, さらに IX 丁 尺 も 1, にな り , (:?リ への 次の デー タ セット 要;^ リ り 込みと なり ま 

す。 

11 モード 2 

この モー ドは グループ 八での み 使用可能です。 この モー ドは 入出力 双方 向!^ お が 可能です。 





384 



ジョイ ス ティ ック 



I 図 …… 8 モード 1 (出力 モード) 



データ 出力 



画 (旭?! ;") 



- (八 ぼ) 
一 08「 



^丁 ^(?じョ/?!:?)) 




八 (:心 ぼ 6バ お 2〕 




(:? リがデ 一夕 書き込み 

相手が データ 引き取り 

! ズ68000 では, ?06 は 出力 專 用の ため, この モ一 ドは 使用 不可 



この モードでの 動作 を 386 ページの 図 9 に 示します。 ちょうど, モード 1 の 入力 モードと 出力 
モード が 合体 したよう な 謝 乍 モー ド です。 

出力!^ では, ポート 八への 書き込み によって IX 丁 尺と 08? がと もに' し 吸' となり' 相 
手からの 八 じ1^ がくる と, 06? が '!^ さ!!' に 復帰 します。 

逆に 相手から 3 丁 8 を 受ける と, 丁!? とともに 18? カジ 9 ほ 11 'になり, データ 力 ^ 取り込ま 
れ たこと を 示し, じ? II が ポート^ を 読み取る と, 18? が' し 0^ に 復帰し ます。 



図 …… 9 モー ド 2 




職 

画 ま) 
08 「(ぱ 7〉 

5 丁 8 (おめ 
18 ド (鄉 
^0 



データ 出力 動作 



データ 入力 動作 



氺 ス68000 では,!^ 6 が 出力 専用の ため, データ 出力 動作 は 不可 



386 




X 68000 の フロッ ピー デ イス ク ドライブイン タフ ヱース のブロ ック図 を 388 ぺー ジの図 1 
に 示します。 ディスクとの リード/ライ ト 制御 を 行う し ミバ?ひじ: フロッピーディスク コント 口 
ーラ) に は 日本 電気 製の バ? 72065 を 使用して います。 その 横に ある 5209420 八 じ ^?0〉 
は, ディ スク から 読み出された 波形から データ と クロック を 分離す る I じ で, データ セ パレー 夕 
とも 呼ばれます。 

^ま 的な ? 00 (フロッ ピー ディ スク ドライブ) であれば, ィ ンタ フェース は ? IX: と 乂?0 
だけで 十分な のです が, X 68000 力 5 ' 使用して いる ドライブに は ディ ス クを揷 入す ると 自動的に 
ディスク を クラ ンプす る オート クラ ンプ や, ソフト ゥヱ ァでデ イス ク を 排出す る オート イジ ヱ 
ク ト 機能な どが 追カ卩 されて いるた め, これらの 制御 や ? 00 の 状態 変ィ! ^出な ど を 1/0 コント 
ローラ (シャープが X 68000 用に つくった し 50 で サポートす るよう にして います。 

また, プログラム を 作成す るう えで 注意すべき 点と して は, ドライブ セレク ト 信号が 1/0 コ 
ント ローラから 出力され ている ことと, 0?^ (?] V [音源 10 の じ 丁 2 出力 を 使って? IX; の 
1^2 八!) 丫^ を 強制的に 'リ にす る 機能 力 5 ' 追加され ている 点が あげられます。 



387 



き 図 …… 1 「00 周辺 ブロ ック図 

1/0 コントローラ 



013. 3 巳し 
〃 1 
〃 2 
〃 3 
巳」 ビ じ 丁 
曰 [。丁 陽 ぺ 
し已 8 し 謹 



丁鬧 
〜 圖丁 
已陽 13《 

^ [^丁 



暖 58-0 

〃 1 
II 2 
〃 3 

ビ^ 

〜四 丁/ 2310 巳 
厂し 丁/丁 61^0 



1^11^/5 丁 
丁 816 



く: 



ト 




74 し 519 



隐 丫 

11^0 已 X 
「し 丁/丁が 
が叩172510 已 

「し 丁が 3 丁^ 



0?リ の 。 丁 2 ― ^ 1 



^0 



^^072065 

^00 



ま。) 



-0 が; 011 361601: 

- 〃 1 
- II 2 
~ ^ ^ け 3 
~ 13101 
-已」 ^じ 丁 ^ム5ぺ 
一し 已 601^ 



—丁剛 



一 に 丁— 
-ビ圆 13《 
- 013^1 リ 



-\^1丁ョ ド80 丁 印 丁 



- 061^ 5^1^07 
- II 1 

〃 2 
, 〃 3 



陽 眼 丫 




随 丁丫ぼ 5^01 



72065 は, 1)30, 1)51 と いう 信号 を 使って 4 台までの ? 1)0 に ディ スク 選択 信号 を 出力 
する ことができ, コマンド 中に ドライブ 番号 を 指定 すれば, この 信号 を 使って ドライブ 選択 を 
行って くれる のです が, X 68000 では この 信号 は 使用せ ず, 1/0 コントローラから 出力す るよ 
うにして います。 ディスク アクセスの ときには ? IX: に コマンド を 書き込む 前に 1/0 コント 口 



388 



フロッ ピ 一ディ スク ドライブ 

ーラの レジスタで アクセス する ドライブ を 選択して おく 必要が あり ます。 

!^じ の 1^2 八!^^ は 通常 は ?: )I) 側の 信 号と 直結され てお り,?! )I) が ァクセ 
ス 可能な 状態 (ディスク 力 5 ' クランプ さ; (ム モータの 回転 力 《 安定す る) になる と 丁 になる 入力 
信号 ピンです。 これ を 0?1\4 の じ 丁 2 で 強制的に 丁 にす る 機能 は, ? 00 力; 接続され ている か 
否か を チェック するとき に 使用す るた めに 設けら れた も ので', 通常の ァク セ ス で 使用す る こと 
は あ り ません。 




「00 の 仕様 



X 68000 の 本体に 内蔵され ている ? 00 の 仕様の 概略 を 390 ページの 図 2 に 示します。 
乂68000 の? 00 ィ ン タフ ヱ ースは 2 110 や 200/2 0, および それぞれの 単 密度 フォー マツ 
ト 〈8 インチ や 5 インチの 初期の ころに 使用され ていました) も サポートして いるので すが, 
内蔵 ? 00 力 《サ ポー ト できる の は 2 1-10 お よ びその 単 密度 フ ォー マット だけで' 2 00 や 2 
は 扱えません。 

また, 乂 68000 の? 00 は, ディスク を クランプ すると ヘッドが ディスク についた ままと な 
ります ので, へッ ドの ロード/アン ロード (へッ ドを ディスクに 押しつけたり, 離したり する こ 
と) を 考える 必要はありません。 図 1 でも 示した ように, ? IX: のへ ッ ド 制御 信号 (!!!^ひ も 
オープンの ままに なって います。 




1=00 イン タフ: [ース 関連 ポート 



? 00 イン タフ ヱース に 関連す る ポー ト の 一覧 を 390 ページの 図 3 に 示し ま す。 ? 00 インタ 
フェース は? IX: の ほか, 1/0 コン ト ローラと 。?!^に 丁 2^〉 を 使用して つく られ てい ま 
す。 ? IX: は ディスクの リード/ライト, ヘッド 移動な どの? 00 の 基本 動作, 1/0 コント ロー 
ラ は 割 り 込み ゃォー トイ ジェ タト, し 20 な どの ォプシ ョ ン 機能の 制御, 0?1\4 の (: 丁 2 ^は 
ディ スクの 接続 状態 検出の ために 使用され ます。 



図 一… 2 本体 内蔵 「00 の 仕様 



項 目 


値 


備 考 


記憶容量 


アン フォ一 マツ 卜 時 


1667 ぺ 8 




フォー マツ ト時 


1065^8 


隱準挞 高密度 モード, 256 バイト/セクタ , 26 セクタ/トラック 


トラック あたり 容量 


10.42^8 




データ 転: &迷度 


ら 11(11^ に 十 ゾ。 
3 りじ? \0 に/ ^ 




アクセスタイム 


トラック 間 移動 時間 




シーク 時の 待ち時間 

^ トラック 間 移動 時間 十 シーク セ トリン グ 時間 
平均 アクセス 時間 

二 平均 トラック 移動 時間 十 シーク セ トリン グ 時間 


シーク セ ト リ ング 時間 




平均 アクセス 時間 


95^15 


メディア 回転 送 


360^(3171 




スピン ドル モータ 起動時 間 


0.55 




トラック 数 


丁^^ /510 已 


77 




丁 隠 X 細 化 


154 




トラック 密度 


96 丁? I 


丁 円 〈 トラック/ ィ ンチ) 


へッ ト' 数 


2 




変調 方式 


肝! VI 


「IV! 方式 も 可 


その他 


才ー トク ランプ 
才一 トイ ジェク ト 
才ー トリ キヤ リブ レー ト 
しビ 



図 …一 3 「00 インタフェース 関連 ポート アドレス 



デバイス 


ァ ド レス 


円匚 八 ひ/ 
が0| 丁 ^ 


13117 |6|5|4|3|2|1 ^ 6110 


備 考 


し? 072065〕 


5 已 94001 






「0じ ステ一 タス レジス 夕 






ド 00 コ マン ド レジスタ お 


まに 94003 






「IX データ レジスタ 










「00 コ マン ド レジスタ 


1/0 コントローラ 


5 巳 94005 




015^ 
1门 


卿 
隠 






,0, 








ドライブ ステータス 




ぼ 
07^1 


ば。 丁 




で' 


08レ に 
#3 


#2 


#1 


隱已 
#0 


ドライブ オプション 信号 制御 


8^94007 




011 




V 


細 






六 00 



1化 


アクセス ドライブ セレク 卜 等 


5 & 90001 




「IX 


印 
I リ!" 


[^丁 
I 町 


I 卜」 下 


ひ 


ぼ 1 
ひ 


印 


^丁 1 
は 


割り込み 信号 ステータス 








V 




ひ 


「XI 
ひ 


「001 
ひ 


刚 
印 


割り込み 信号 マスク 


3 ぼ 003 








\^は 






圆 


: 已 


割り込み ベクタ 番号 


0^(71 


る 巳 90003 


… 


071 


072 




1 


レジスタ 518(5 已 90001 に? 18 を 
害き 込んで から アクセス する 



氺1:5 [丁 3 丁 六〜 08丫 ほ 35〉, 昍 56 丁 5 丁 八〜 08 丫は 3リ, 50 「丁 が /^已 5 ョ丁 (お 36〕 以下の コ マン ドは 使用 不可 



390 



口 ッ ピー ディスク ドライブ 



| 1/0 コントローラの 1=00 関連 ポート 



01 



ドライブ ステータス レジスタ 



ドライブ ステータス ポートの ビッ ト酉己 置 を 図 4 に 示します。 この レジスタ は? !)!) への ディ 
スクの 挿入 状態 を 示す ものです。 ビッ ト 7 は ディ スクカ ^ 挿入され ている か 否か を, ビッ ト 6 は 
デ ィ ス ク の^を 間違え る な ど 謝 单入 がさ れ ている 力せ か を 示す も のです。 

これらの ステータス は, ドライブ コントロール レジスタの ビット 0~3 のうち, ,1 'を 書き込 
んだ ド ラ ィ ブの も のか 読み出 されます (複数の ビット を' 1 'にす ると, 丁に された ドライ ブの 
ステータスの 論理和 ((^尺) をと つた ものになります)。 

X 68000 では ディスクの 抜き 挿しが 行われる と 割り込みが 発生し ます。 割り込みが 発生した 
ら, 各 ドライ ブの 状態 を 順に 読み出す こ と で, どの ドライ ブに 変化が あ つ たの か を 判断す る こ 
と がで きます。 ディスク の 謝 爭 入が あ つ た 場合に は, ディスク の 挿入に ともなう 割 り 込みが 発 
生した 後 (ドライブ ステータス レジスタの ビッ ト 7 は 丁 になります), )0 は (:?リ の 関与 
を 受けず, 自動的に ディスク を 排出し ます (ビット 7 は' 'になります)。 この 排出 時に も 割り 
込みが 発生 し ま すので, 謝爭 入が あ つ た 場合に は 2 回 連続 して 割 り 込みが 発生す る ことに な り 
ます。 



4 ドライブ ステータス 55: 34005 



ぼ 


巳ド隨 


11^ 


015^ 



'0 , 



1 : ディスク 誤挿入 (このと き, ヒ I 口 も' 1 'になる) 
0: 〃 ではない 



1: ディスク 揷入 状態 
0: け 非 挿入 状態 



02 



ドライブ コントロール レジスタ 



ドライブ コン トロール レジスタ では, し 20 や イジ ヱク ト などの ォ プショ ン 機能の 制御 を 行 



図 …… 5 ドライブ コント ロール 5 巳 94005 



し 三 


曰 印 丁 


已」 三 丁 


で' 


0则已 


0^^^ 


0^ソ に 


061 化 


丁 8 し 


陽^ 


0^/0^ 


#3 


#2 


#1 


#0 



リ '―' 'の 変化 時, 1)1 は一 で 選択 
した オプション 機能が 働く 



1: メディア を イジ ェクト (排出) する 
0: II しない 



1: イジ ェク ト ポタン を 無効 化する (イジ ヱ ク ト ポタン 上の しビ0 が 消灯す る) 
0: II 有効と する 〈 II 点灯す る) 



1 : 「0 アクセス ランプ を 点滅させる (メディアが 入って いないと き だけ 有効) 
0: II 消灯す る 〈 II 5 



います。 ビット 配置 は 図 5 のように なって います。 

ビット 5 ~ 7 で 各 ォプシ ョ ン 機能 を, ビット 〜 3 で ォプシ ョ ン 機能 を 働かせる ドライ ブ番 
号 を 指定 します (内蔵 ドライブ は と 1 です) 。 各 ォプシ ョ ン 機能 は, ドライ ブ 選択 ビ ッ ト が 
'!' からで' になった とき に 動作す る よ う になって います。 ドライブの 選択 は 複数 を 同時に 行つ 
て も かまいません。 

たとえば, この レジスタに 323 を 書き込んだ 後, ぉ0 を 書き込む と, ドライブ と ドライブ 1 
の ディスクが 同時に ィ ジヱク ト されます。 



03 



アクセス ドライブ セレクト レジスタ 



レジスタの ビッ ト 配置 を 図 6 に 示します。 この レジスタ は アクセス する? !)!) の ドライブ 番 
号ゃメ ディ ァ タイプの 選択 を 行います。 

ビット 7 を' 1 'にす ると, ? 00 の モータが 回転し はじめる とともに, ビット 0, 1 で 謝 尺し 
た ドライ. ブ への セレク ト 信号が アクティブ になり, アクセス ランプ (!^;ひ 力 5 緑から 赤に 変わ 
ります。 で 'にしても しばらく は 回転した ままで, 一定 時間た つてから 停止し ます。 アクセス を 
行う 前に は 必ず ビッ ト 0, 1 で ドライブ 番号 を 設定 するとと もに, この ビッ トを 1, に 設定し 
てくだ さい。 

ビッ ト 4 は 2 110 と 200 の 切り替え を 行う ビッ トで すが, 内蔵 ドライブ では 2 110 しか サ 
ポートされ ないた め, この ビッ トは 通常' 'のままで' 使用し ます。 



392 



口 ッ ピー ディスク ドライブ 



図 …… 6 アクセス ドライブ セレク ト 3 巳 94007 



1)117 6 5 4 3 2 1 6110 



1^10 丁 08 


1 | 


~2^0 


,0, 


虹 已 53 


01^ 


/200 


三 



アクセス する ドライブ 番号 

1 1 : ドライブ #3 



1 : 


#2 


01 : 


#1 


00: 


?0 



1 : 200/20 ディスク 
0: 21 "! ディスク 

X 68000 内蔵 ドライ ブ では 2 40 の み 使用 可 

1 : ドライブ セレク トイ ネーブル & モータ リ (アクセス ランプ は 赤色になる) 
0: ドライブ セレク トデ イセ一 ブル & モータ 0「「〔 〃 緑色 〃 〕 



04 



割り込み ステータス レジスタ 



ビット 配置 を 394 ページの 図 7 に 示します。 1/0 コントローラ は 5 八 51 (ノ、 ード ディスク), 
フロッピーディスク, プリンタ などの インタフェース を 受け持つ ており, 割り込み も 1/0 コン 
ト ローラで 管理で き るよう になって います。 1/0 コント ローラ カズ 管理して いる 割り込みの ステ 
一 タス や 許可 状態 を 示す のが, この レジスタです。 

上位 4 ビット は 割 り 込み 要求の 発生 状態 を 示す も の, 下位 4 ビット は 割 り 込み マス ク レジス 
タの 内容が そのまま 反映され てお り, それぞれの 割り込みの 発生 か!^ 可に なって いるか 否か を 
示して います。 

割 り 込み か 1 午 可に な つてい ない (で 'になって いる) 場合, 割 り 込み 要求が あ つても, じ?じ へ 
の 割り込み 要求 は 行いません が, 害 リ り 込みの 要求 状態 は 下位 4 ビッ トで 読み出す こ と 力 5 ' でき ま 
す。 



05 割り込み 信号 マスク レジスタ 



ビッ ト 配置 を 394 ページの 図 8 に 示します。 1/0 コントローラの 管理して いる 割り込みの 許 
可/禁止 を 制御し ます。 それぞれの ビッ トが 丁 のとき 割り込み 発生 か 赏 可, ,0, のとき 禁止に 
なり ます。 



図 …… 1 割り込み 信号 ステータス 3 匚 90001 



6117 6 5 4 3 2 1 6110 



ぼ 


^00 


叩 丁 


隱 


1^001 


「1X1 


ド 001 


[^丁 1 


^丁 


^丁 


^丁 


1 〜丁 


ビ" 




已^ 





1: プリンタ 割り込み^ ^ 可 中 
0: I! 禁止 中 

1 : 「00 割り込み (メディア 挿拔で 発生) 許可 中 
: II 禁止 中 

1: 「IX 割り込み 許可 中 
0: II 禁止 中 

1 : 5/^5: ディ ス ク 割 り 込み (コ マン ド 終了 時 発生) 許可 中 
0: II 禁止 中 

1 : ぉ51 ディ スク割 り 込みが 発生して いる 
0: II していない 

1 : プリ ンタ 8 リ 3 丫 信号 : 'し。"' ま 丫 状態) 
0: 〃 二 'は^!' 〔8 リ 5 丫 状態) 

1 : 「00 割 り 込みが 発生 している 
0: II していない 

1 : 「01: が 割 り 込み を 発生して いる 
0: II していない 



図 …… 8 割り込み 信号 マスク 500001 



1)117 6 5 4 3 2 1 6110 



,0, 




ぼ 1 


^01 


[^丁 1 


印 


巴~ 


巳^ 


昍 



1 : プリンタ 割り込み 許可 
: II 禁止 

1 : 「00 割り込み (メディア 挿抜で 発生) 許可 
0: !! 禁止 

1 : 「00 割り込み 許可 
0: !! 禁止 

1 : 5;\51 ディスク 割り込み (コマンド 終了 時 発生) 許可 
: I! 禁止 



394 



フロッ ピ 一ディスク ドライブ 



06 割り込み ベクタ 設定 レジスタ 



ビット 酉 己 置 は 図 9 のように なって います。 この レジスタに は 1/0 コントローラ が 出 力す る 割 
り 込みべ クタ 番号 を 設定し ます。 設定 力 (有効な の は 上位 6 ビッ トで, 下位 2 ビッ トは 割り込み 
発生 時, 1/0 コント ローラ 力 嗜リり 込み 要因に よって 自動的に 変更して じ? じ にせ-えます。 

攀図 一… 9 割り込み ベクタ 設定 5^00(13 



ソ6 は 























任意 設定 可 



1 1 
1 
01 
00 



プリンタ 割り込み 
ハードディスク 割り込み 
「00 割 り 込み 
印 割り込み 



2 (^^^(丫^?巧ゎ の 1=00 関連 ポート 



0?1^ [の じ 丁 2 端子の 制御 を 行う レジスタ 318 のビッ ト 配置 を, 396 ページの 図 10 に 示し 
ます。 ビッ ト 6 を' V にす ると, ? IX: の!^: 八!) V 端 子が 強制的に レディ 状態 (ディ ス クがク 
ラン フ 'さズ I 定常 回転して いる 状態) になります。 

この 機能 は, ディスクの 接続 状態の チェックに 使用し ます。 この ビット を 'リ にして デ イス 
ク に !^;じ 八し 18 尺八 丁 2 コマンド を 発行す る と , ? じ は ドライ ブが レ デ ィ 状態 にある ものと 
みなし, へッ ドを トラックに 移動 させよう とします。 ディスク 力付 妾 続され ていれば, ? 00 か 
ら トラ ッ ク への 移動 ステータス 信号 力 5 検出さ^ コ マン ドカ勺 王 常 終了し ます 力 5 ', 接続され て 
いないと, いくら ヘッド 移動 パルス を 送っても, トラック 力; 検出で きないた め, 異常終了と 
なる わけです (この ビット を で' にして 尺^じ^!^^尺^! ^コマンド を 実行す ると, ディスク 
が 入って いない ドライブ はへ ッ ドの 移動が 行われず, 即座に エラー 終了し ます)。 

この ビット は ドライブの 接続 チヱ ッ ク 以外のと きはつね に で' にす るよう にして く ださい。 



395 



図 …… 10 0^171 の レジスタ 51 8(5 巳 ^!)!^) 




し 「0 出力 波形 選択 

1 : 「00 のぼん 丫 端子 を 強制的 に レ ディ 状態 にす る 
0: 通常 動作 

1 : 八 01 3 (^の 基本 クロック を 4^ !!" 12 にす る 

: II 8斷 II 



4 



1=00 



? IX の ポート は 5294001 と 5294003 番地に 割り振られて います。? IX: への アクセス は, コ 
マン ド, データと も 3294003 番地で 受け渡し を 行い, ステータス を 3294001 番地で 読み出し ま 
す。 3294001 番地への 書き込み は, ? 00 の 初期化な どの 非常時に 使用され るコ マン ドに 限られ 
ます。 



0,1 1=00 ステータス レジスタ 



? IX: ステータス レジスタの 内容 を 図 11 に 示します。 

ビット 7 は じ! 5 !! と ?0じ の 間の デー タ (コマンド) 転送の タイミング をと るた めの もので, 
? IX: 力々 欠の データ 転送の 準備が できる と 1 'になり, (:?ひ がそれ に 応答す ると で 'になり ま 

す。 

ビッ ト 4 は, ディスク リード/ライ ト など を!)] V [八 を 使用せ ずに 行うよう に プログラムした 
とき ほ?^:じ^丫 コマンド を 使用し ます), 八 52 〈397 ページ 参照) 時に この ビットが 
1 'になり, じ? II による データ 転送 要求で ある こと を 示します。 0? ョ八 52(397 ページ 参照) 
や &-? II 八 52 〈397 ぺー ジ 参照) は じ? II に よ る 転送が 普通です か ら, この ビット は 意味 を 持 
たず, ,0 'のま まに なって います。 



フロッ ピー ディスク ドライブ 



き 図 …… 11 「00 ステータス レジスタ 



華 


010 


1^0^ 


08 


038 


028 


018 


008 



「0 门 8リ5 乂 

1 : ドライブ は シーク 中/シーク 完了 割り込み 保留 中で ある 
0: グ でない 



1^00 8^5 乂 

1 :「0じ 動作 中 (シーク/ リキ ヤリブ レートの 已- 卩!" 1^3 已 では セット されない) 
0: II でない 



1 : リ 门 モードでの データ 転送 中で あ る 



0: 



03 ね 111^^/0111:13111: 

1 : 「00 か ら ホス ト への 転送 
0: ホス 卜から 「IX; への 転送 



5印リ651: 1^0「 リ35 お 「 

1 : 「0〇 の データ 転送 準備が できて いる 

0: II いない 



でない (じ- [^み 5 已, ド干 ョ ではつ ねに '丁) 



2 1=00 の フェーズ 遷移 



? 00 の 動 《句 犬 態 は, 大きく 分けて (:?リ から コマ ン ドゃ 実行の ための パラメータ を 受け取る 

コマンド フェーズ (以下, 0? ョ八 52 と 略します), コマンドの 実行 を 行う ェグゼ キュー ショ 

ン フェーズ ?11 八 已ぬ, 実行 完了 ステータス を (:? じが 引き取る リザルト フェーズ (尺- 

?11 八 ^丑) の 3 つの フヱ ーズに 分類で きます。 398 ページの 図 12 に各コ マン ド ごとの フ ヱーズ 

遷移 を 図示して みま したので 参考に してく ださい。 

シーク 系の コマンド や ディスク リード/ライト 系の コマ ン ドの 場合に は 2-1^^52 の 完了 

時点で 割り込みが 発生し ます。 

倾の 1x1^ (アイ ドル 状態) は&想 的に 考えた ものです。 実際に は? IX: は, 前回の コ マン 
ド 処理が 完了 するとす ぐに 次の コマ ン ド 待ちに なり ますので, 明 51 な アイ ドル 状態 は 存在し な 
いと 考える こと もで きる のです が, フェーズ 胃 を 考える うえで は, いったん アイ ドル;! 犬 態 を 
経由す る ほうが 自然な ので, 図の 中には 入れて おきました。 

ディスクの リード/ライト など, 八 32 で データ 転送 を ともなう 場合に は, じ? リ や 
0^1 八 (: によって データ 転送 を 実行し ます。 ? 00 は, 5 八 51 や 5 じ 51 の ハードディスク のよう 



397 



図 一... 12 「0じ の フェーズ 遷移 



參図 …… 13 1 バイト 分の 転送 時間 



(! き) 



記録 方式 

メディア タイプ 


1^(71 




謂 本, 


32〃 5 


16^5 




64/^5 


3 ひ 5 



: 240/200 になる の は!^^ 記録 時 



'セット スタンバイ 




,センス ステータス 
, リセット スタンバイ 
, 瞧し 10 



&シ 一— ク系) メ 
&割リ 込み 発生 



(リード/ライト 系) 
ホ 割り込み 発生 




な 大きな バッ フ ァ は 持って いません ので, ? 00 からの 転送 要求に 対して 必ず 規定 時間 以内に 
サービス しな く て はな り ません。 このため, 通常 は 01^ 八 じ を 使用 して データ 転送 を 行います。 
ディ スクの メディア タイプと 記録 方式 ごとの 1 バイ ト 分の データの 転送 時間 を 図 13 に 示し ま 
す。 X 68000 では 通常 2 ト 10 フォ 一 マ ッ ト を 使用 します から, 16 バ 5 以内に デー タ のり | き 取 り 
(リード 時) や 書き込み (ライト 時) を 完了 させなくて はなり ません。 



398 



口 ッ ピ 一ディスク ドライブ 



3 リザルト ステータス 



1?-?^ 八 52 で 返される ステータス のうち, リード/ライト 系な ど, 多くの コマンドで 返され 
る ものが 5 丁 0, 5 丁 1, 5 丁 2 の 3 つの ステータス バイ 卜です。 それぞれの データの ビッ ト 配置 
は 図 14, 図 15, 図 16 のように なって います。 

5X0 の 上位 2 ビットが' 1 1 'のとき の 説明 |: 1 1 の 状態 遷移 というの は, ディスクの 抜き 挿しな 
ど を 指す のです が, X 68000 では, この 変化 は 1/0 コントローラが とらえる ようになって いま 
す。 

參図 一... 14 リザルト ステータス (ミ 丁 (!) 



10 


5 & 


已 


リ8 


40 


1351 


じ 3 



リロ は 561601: 口 
(割り込み 要求 時の ドライブ 番号) 



1 1 
10 
01 
00 



ドライブ #3 
#2 
#1 
お 



, ド 番号) 



463 づ ムづ^ 「655 
(割り込み 要求 時の パ 

1 : 裏面 
0: 表面 



^01 只 63 勿 

1 : 指定され た デバイス は レディで ない 
0: 通常 動作 



曰—, 6は 01160^ 

1: ドライブから 信号 を 受け取った/ 

8 ョ (^し ^コマンド 実行 エラ一 (トラック がみつ からない) 
0: 通常 動作 



566^ 巳 1101 

1:3已ビ ド /^(^し 丁已コ マン ド 実行 終了 
0: 通常 動作 



101:61*1*11131 006 & 
(割り込み 要因 を 示す) 

1 1 : デバイスに 状態 遷移が あった (ムに 八せ 60 お 00 III お 「「"口 り 

10: 与えられた コ マン ドは 無効 (!!^ 3 !! めであった (に :1门ソ31ぱ 001710130 め 

01 : コ マン ドの 異常終了 (八丁: み^ 10「〜31 丁 6 「円 1113 お) 

00: コ マン ドの 正常終了 (门 丁:〜 0「17131 丁 6「卬1|13 お) 



399 



I 図 …… 15 リザルト ステータス 1 〔5 丁 1〉 



巳^ 




0^ 


06 




陽 


曙 


陽 



^1551118 みづづ「655 ^3「4 

1 : ァ ドレス マークが 
みっからない 

0: 通常 動作 



^01 が「1 ね 匕 16 

1: 書き込み 動作 時 

^116 ド「0 おは 信号 を 受け取った 

0: 通常 動作 

1^0 03 ね 

1 : 指定され た セクタが みっからない 
0: 通常 動作 



0ソ6「 じ 门 

1: データ 転送 時, ホストが 規定 時間 以内に 応答し なかった 
0: 通常 動作 



0313 6「「0「 

1 : ディスク 上の 10 や データに じ^ エラ一 を 検出した (旺ム 10 コマンド は 除く) 
0: 通常 動作 



1 





于 门^ 6 厂 

:コ マン ド 中の ョ 丁 パラメ 一夕で 与えた 最終 セクタ を 越えて リード/ライト しょうと した 
: 通常 動作 



フロッピーディスク ドライブ 



》 図 …… 16 リザ ル ト ステータス 2 〔5 丁 2〉 



^1351112 ムづ。 「655 ぬ 「に 
III 03 ね 円 61 づ 

1 : データ ァ ドレス マー 
ク がみつ からない 

0: 通常 動作 



83 づ ひ 卩0づ6「 

1 : 3 丁 1 の リ0 ビッ 卜が' 1 'のとき, 
10 の じ バイ ト がま 「「である 

は 0〜03 に コマンド、 

I を 除く ノ 

0: 通常 動作 



5030 1\|01 331:1^16^ 

1 : 30 ム^! コマ ン ドで 最終 セ クタ ま で 条件 を 

満足し ない 
0: 通常 動作 



303 巳卩リ 31 !" !は 

1 : 30^^ コマンドで むリ 31 条件が 成立 し た 
0: 通常 動作 



1^0 0^1 1^1016 !' 

1 : 5 丁 1 の!^ ビットが' 1 'のと き, 10 の (: バイトが一 致せず, 

かつ ま 「「でもない 
0: 通常 動作 



03 ね 5「「0「 I。 03 ね 「! 61。 

1 : データの (:^ エラ一 を 検出した 
0: 通常 動作 



00 门 1:「01 1^3「4 

1: 八丁 八/^:/ \0 01^〜05 丁に/ ぉ州 実行時に り 0みリ を 検出した 
0: 8 ひ [し [丁 印 [^丁 ム 実行時に 0^リ を 検出した 
通常 動作 



^ トラック フォーマット 



〃? 72065 が 扱う ディ スクの 1 トラックの フォー マツ 卜の 詳細 を 402 ページの 図 17 に 示 
します。 ^!^乂 と 書いた 信号 は ディ スクが 1 回耘 する ごとに 発生す る パルス 信号で', 5 イン 
チの フロッピーディスク では ディスクに 空けられた 穴 を 検出して 発生して います。 

インデックス パルスの 後に は, トラックの 先頭 を マークす る 3 口 4も 5 了!^: (同期 パター 
ン), I 八] VI (!!!^ ^1-658 IV [& !"^), & 11)1 と 続き, その後に 各 セクタの 情報が 順に 並べら 



401 



齡図 …… 17 トラック フォー マツ ト 



信号」 



1 ト フック 





03^43 


5 丫^ 


關 


03^ 1 


先頭 セクタ 




最終 セクタ 




「1 ^フォーマット 


^厂 


^00 
ズ6 


XI 


ヒ ぬ 

折 X 










關フォ 一マット 


X 御 


^00 

乂 1 


お 2 
乂3 


^0 
XI 


'お ソ、 











ドリ フォーマット 
圆 フォーマット 



5 丫〜 。 


10^ 





4 


8 


1^1 


ほ 




5 丫吧 


隱 

巾 圆) 


—— \\ —— 

八丁/ \ 


ぼ 


63^)3 


ズ6 


XI 


XI 


XI 


XI 


XI 




軒 
XII 


ズ6 


串 「8 は 闷) 
XI 


1 —— \\ —— 

^ —— \\ —— 


ズ2 




〜 


X ゆ 


お 己 

XI 


XI 


XI 


XI 


XI 


ズ2 


X ゆ 


^00 
ズ12 


本^ 1 

ズ3 


(?^) 
XI 


—— II —— 


乂2 


















1 セクタ 分 















れ ます。 さらに III 冬 セクタの 後に は 03 口 4 ヒ がきて, 1 トラックの-最後 を 示します。 

各 セクタの 先頭 は, 5丫リじ, 10 八] VI ひ0 八 3(11^55 皿紅ヒ) に 続いて, シ リンダ), 9 ぐ へ 
ッド ん 只 (セクタ), X (セクタ 長) データ か II きます。 じ, 3, 仏 1-1 は, その セクタが 第 何 
シ リンダ (トラック) の 第 1 可 セクタな のか, 表面な のか, 裏面の トラック なのかと いった こと 
を 示す ものです。 セクタの 住」' 听 のよう な ものであると 考えれば よいで しょ う。 
これらの ヘッダの じ!^: チェック コードに 続いて, 3 口 2, 巳丫!^じ が 書き込ま :! ム さらに 

八] VI 03 ね 八 33 !" 655 1\431~10 1 または 00 八] VI 〈1)6161:6(3 0は3 八お!" 633 力 嗜き込 

まれます。 通常, この 領域 は!) 八] V [カ嘈 き 込まれます。 この 領域が 011/^/1 になって いると, 
通常の 尺2 八!) 丁 八/^] ^丁 2 八丁^ コマンド などで アクセスした ときに, 5 丁 2 の (:!^ 
ビッ トが 丁 になり ます。 

0^1^/1)0 八] VI に 続いて, '奥 際に リード/ライ トを 行う データ 力 5 ' あり, 最後に これらの (:尺じ 
チヱ ック コード, 02113 3 か II きます。 



402 



フロッ ピ一 ディスク ドライブ 



1=00: の コマンド 



? IX: のコ マン ドは 多くの パラメータ を 持った め, それぞれの パラメータ を 略称で 呼ぶ よう 
になって います。 ? 00 のコ マン ドの 図の 中で 使用 される 略称と, その 意味の 対応 関係の 一覧 を, 
図 18 に 示します ので 参考に してく ださい。 



図 一… 18 コマンド 中の 略称と その 意味 



略 針 

10 &个小 


么 称 
-& 个小 


1 つ -&" 


リ 丁 
IV! 1 


^/! 1 1 1 十 1 チ 「3 广 レ 

IV! リ 1 し 1 1【 しい 


^3 3^ ト 巧'' ノ 々 (一 ゎナ- つて 車 わ 作ん》 千 う^ま 【一' 1 '(""すろ 
1 "せ '! IX 「 ノ ノノ 4 ソ /—つ レ^^ 11^ '(^つ』 ンしヒ 1| 一 1 1— リ リ 


IV! !" 


IV! \ IV! 171006 


^ ^ ^ ^ ^ ,1 'にす ろ 「 X 68 门 0(1 て '【十" 11 堂' 1 '【― する") 

1 口"^ ゾ又 口し 5 承 71』 ノ しさ, I ? ジ 乂ハ 00 リ リリレ 1 み ^ &. 111 1 ゥ ジ ノ 







门门ム 1\パ ゾ 门八^ 1 め +?々 々も"? ホ'' /つ。 さ廿ナ 一 い? ま ,1 , 
リ八 IV! ノ じ ノス '(! "ム 卞ノノ (^ヒ /一し 1 し ぐ , 1 


1-1 门 
II じ 




へ"/ ^ァ ^ 1 ノ飞 3 & ― '门' 事 一 リ' 

ヽノ 「ノ 「レ^ 。 ^ 一 リ , ま 一 1 


1150,051 


リ门け 561601 0/1 


ドライブ 番号の 指定 〔X 68000 では 無意味) 





门づ 6「 ^リ 171136「 


ディスクの 10 情報 中の シ リ ンダ (トラ ック) 番号 




1-16301 リリ^ 136「 


II へッ ド 番号 




8600 「づ ペリ 


1! セクタ 番号 




^600^ し 6112^1 


セクタ 長コ一 ド 


三 丁 


已 11 づ 0于 丁 「3は 


最終 セクタ 番号 


びし 


03 口 し 6 门 


むロ3 の 書き込み バイ 卜 数 


135 し 


03(3 5 に 口 し 608*11 


03(3 3 の 読み 飛ばし バイ ト数 


丁し 


03 丁 3 1.60^(1 


1 セクタ あた りの 処理すべき バイ ト数 (リ がる 00 のと き だけ 有効) 


570,1,2 


5 ね 1: リ 5 


リ ザル トス テ一 タス 


50 




\^ ^丁 巴 10 コ マン ド時, 1 トラック あたりの セクタ 数 を 指定す る 





03 ね 


れ ^丁 に 10 コ マン ド時 ,データ エリアに 書き込む データ を 指定す る 


3 丁? 


31 印 


80^1^ コ マン ド時, 501 な ら 次の セ クタ を, 502 な ら 1 つお き に 処理す る 




リ 6X1: 乂 110 づ 6「 1^11101 1361- 


^^コマ ン ド時, シーク 先の シリ ンダ 番号 を 指定す る 


58 丁 


51 叩 ^316 丁^ 6 


ス テツ プノ ^レス (へッ ド 移動 信号 〉 の 間隔 を 指定す る 


411 丁 


463づ 11(1103(1 711116 


へッ ドロ一 ド 信号 (リ し 00 が 「「にして からへ ッ ドが 離れる までの 
時間 ^68000 では 無意味) 


!"! し 丁 


1-16301 し 03 づ 111116 


へッ ドロ一 ド 信号が 0~ にして からへ ッ ドが 安定す るまでの 時間 


^0 


1^011-01^^ "。お 


リム を 使わずに データ 転送 をす ると き, 丁に する 



參 5 



403 



01 ^曰 八 八丁 八 コマンド 



01 



コマンド フェーズ (ひ?! "!八 5 曰) 



112^.0 八丁 八 コマンドの フォー マツ トを図 19 に 示します。 

(: -? ョ 八 32 では 9 バイ トの コマンド/パラメータ を 与えます。 それぞれの パラメータの 意味 
(図 19 参照) は 次のように なって います。 



き 図 …… 19 尺 巳^ 八丁 八 コマンド 



フェーズ 


ぼ 八 13/ 
が^1 丁匚 


6117 


6 




4 


3 




1 


1)11 


備 考 






ず 


ぼ 


で' 


つ' 


ず 


で' 


,1, 




















1-10 


1151 


リ 30 








1111 














1-1 


実行 開始 セクタの 10 情報 


0叩 八 3 已 


界 












已 丁 








05 し 








丁し 




[他 5 已 






データ 転送 






5 丁 








5 丁 1 








5 丁 2 




8- 嶋 お 







^ 正常終了 時 






1-1 


実行 終了 時の セクタの 次の セクタ 
10 

, 異常終了 時 
実行 終了 時の セクタ 10 






^ 






1^ 



404 



フロッ ピ一 ディスク ドライブ 

IV! 丁 : マルチ トラック 

ディスク の^を 連続して アクセス するとき, この ビッ トを 丁 にします。 
: IV! 1^1^ モー ド 

倍 密度 記録 方式 ^ぉ!) や 2 0ひ を 使用 するとき, ,1 'にします。 X 68000 では 通常' 1 'に 
します。 

5^ : 5X1(3 00^ 

!' にしておくと, アクセスし ようとした セクタに 00 八] VI 0616 お 3 03 ね 八 3(1 て 635 
!^ぱレ) か 售-き 込まれて いたと き, その セクタへの アクセス を 飛ばし, 次の セクタに アクセスし 
ます。 ,0 'になって いると, その セクタの 転送 を 終了した 後, コマンドの 実行 を 終了し ます。 こ 
のとき, 3 丁 2 の 0\4 に00れ01 1X131-10 ビット 力、'' 1 'になります。 

1-10 : 1-16301 

アクセスに 使用す るへ ッ ド 番号 を 指定し ます。 ,0, で 表面, ,1, で 裏面 側のへ ッ ドの 選択に な 
リ ます。 

リ 51, リ 50 : リ 1111 5616 は 0/1 

アクセス する ドライブ 番号の ォ旨定 を 行う ものです。 X 68000 では ドライブの 選択 は 1/0 コン 
ト ローラで 行います ので, この 指定 は ドライブ 選択と しての 意味 は あ り ません が, 522长 や 
!^;じ 八し 八丁 2 コマンド では, ? 00 内部で ィ呆存 している 各 ドライブの シ リン ダ 番号 との か 
ら みがあります ので, 実際に アクセス する ドライブ 番号 をセッ 卜する ようにして ください。 

^, !" I, 尺, |\| : じ乂|;11^6「ズ1 "! ^ョづ/?^仁り广づ/ し 611 さ 1卜 

アクセス する セクタの シ リンダ, ヘッド 番号, セクタ 番号, 1 セクタ あたりの リード/ライト 
する 大きさ を 指定し ます。 ? IX: は ディスク 上の 各 セクタの ヘッダに 書き込まれ ている じ, 8, 
に ^[直と, ここで 指定され たもの を 上 せ 交し, ー& 1 "ると アクセス を 開始し ます。 通常, これ 
らの値 は 実際のへ ッ ドの物 細 勺な 位置 やへ ッ ド 番号と 一致させます。 

もっとも, ここで 与える シリ ンダ 番号 やへ ッ ド 番号 はたんに セクタに 書き込ん である 値と 比 
較 する ための ものです から, たとえば, 意図的に ディスク 上の すべての セクタの (: を にした 
よ う な ディスク を 作成して, 読み出し 時に (: をす ベて と して 8! み 出す といった ような こ と も 
できない ことではありません 
610 丁 : 巳ロづ 0ザ 丁 「30^ 

トラック 中の III 冬 セクタの 番号 をセッ ト します。 

05 し : 03|3 5X1(3 し 611 き 1±1 

複数の セクタ を 連続 アクセス する マルチ セクタ 動作のと きに, データ 部と 次の セクタの 10 

部の 不 1 较 領域 を 読み 飛ばす ための も のです。 

丁し : 03 丁 3 1-611^^ 

卩 の 値が 3 00 のとき, この データで 1 セクタ あたり アクセス する データ 長 を 指定 します。]^ が 



500 以外の と き に はこの データ は 意味 を 持ち ません。 



図 20 によく 使用され るフォ 一 マ ット ごと の 各 パラ メータ の 設定 値 を 示 し ま すので 参考に し 
てくだ さい。 なお, I 化 11130 68 X では] で 1024 バイ 卜/セクタの フォー マツ トを 採用し 
ています。 

參図 一… 20 セクタ フォーマットと パラメータ 



フ才一 マツ ト 


「0じ に 与える パラメータ 


備 考 


5じ 違 求 万 式 


セクタ サイズ 

/ノノ! /しん あ、 
1 ハイ 卜/セクタ) 




已 丁' 
50 


05 し 


(^し 


ド1^ 


128 


200 


81^ 


307 


518 


「 1 0^ 子ソス な、'/ 卜 1 1 

、 10 IV! ノ っ^"! ノ ノ 1 1 ゾ 


256 


^01 


50「 


30 に 


お 六 


(旧!^ ディ スケッ 卜 2〉 


512 


502 


208 


818 


お 八 




1024 


3 03 


804 


未定 


未定 




2048 


304 


802 


未定 


未定 




4096 


505 


801 


未定 


未定 






256 


501 


ま 


輒 


536 


(旧リ ディ スケッ ト 20〉 


512 


502 


30 ド 




^54 




1024 


503 


508 


835 


874 


乂68000 標準 フォー マツ ト 
り8リ ディ スケ ッ ト 20〉 


2048 


304 


^04 


未定 


未定 




4096 


305 




未定 


未定 




8192 


506 


501 


未定 


未定 





〈 〕 内 は, 8 インチ 「0 での フォー マツ ト 名称 



02 



ェグゼ キュー シ ヨン フェーズ (巳 や!"!^ 5 日) 



データ 車 云 送 を 実行し ます。 データ 転送 を!) ^八で 行う 場合に は, コマンド を 与え 終わる 前に 
0]V [八の セッ ト アップ をして おいた ほうがよ いでし よ う。 

アクセスの 終了 は, 丁 (: 〈 ターミナル カウント)^ "によって 伝えられます。 丁 (: で 終了 力 5 ' 通 
知され ないかぎ り, ? IX: は 次の セクタの 読み出し を 連続して 行って いきます。 リを 300 と し, 
丁 I を 128 未' 満 にした とき は, 各 セクタの 先^^から 丁し バイ ト ずつ をつ まみ 食いす るよう 
に して 転送 カオ ? われて いきます。 



406 



フロッ ピー ディスク ドライブ 



03 



リザルト フエ 一 ズ 〈 8 - 1 3 ! "!八 5 巳) 



八 52 では, 5 丁 0, 5 丁 1,5 丁 2 の 3 つの リザルト ステータスと, 終了 時の じ, 只, 尺, 
V 値が 返されます。 (:, ョ, &, リ は, 正常終了した ときには 最後に アクセスした セクタの 次 
の セクタの 10 力、 異常終了 した ときには 終了 時の セクタの 10 力 射返されます。 



2 8 ョ八 05 しョ丁 50 八丁 八 コマンド 



コマンドの フォーマット を 図 21 に 示します。 セクタの ヘッダ 中, データの 前が 00 八] VI 

〈1)6161:6(3 03 ね 八お!" 633 になって いる セクタ を 読み出す コ マン ド です。 動作 は, 



図 一… 21 曰し 6: 丁 610 0;\ 丁 八 コマンド 



~7 卞 ザ 
ノエ ― 人 


^&八 13/ 
丁 巳 


13117 


6 




4 


3 




1 


1)1(0 


俾 考 






IV! 丁 


ぼ 


5ド 


,0, 


'!' 




'。, 


,0, 


















1-10 


リ 51 


1150 

























実行 開始 セクタの 10 情報 


州 八 55 










—— 1 —— 1 —— ^—! —— 1 —— 1 —— 1 —— 
リ 








ビ 丁 








05 し 








—— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 
丁し 




[干 4八5 已 


1^ 




データ 転送 動作 






570 

^ 1 ~^ 1 ~~ 1 ^ 1 ~ 1 ~~ 1 1 ^ 








5 丁 1 








5 丁 2 




ト 嶋 5 ビ 







^ 正常終了 時 

実行 終了 セク タの 次の セク タの 10 






1-1 






^ 


, 異常終了 時 

終了 時の セクタの 10 






^1 





407 



尺2 八!) 0^ 丁 八 コ マン ドの 説明 中の 八] VI を 00 八] VI に, 00^1^ を 八] VI に 入れ替えた も 
のに 相当し ます。 

たとえば, 1?2 八!)!^ \丁^ コマンド では, 00 八] VI になって いる セクタ を 読み出す と, 5X2 
の 0\1 ビッ トを' 1 'にしました 力 5 ', この コマンド では 八! VI になって いる セクタ を 読み出す と 
'!' になり ます。 



8 己 八 10 コマンド 



コマンド フォー マツ トを図 22 に 示します。 コマンド を 受け取つ てから 最初に 見つけた 正常 
な (エラーの ない) セクタの 10 情報 に, 11, に !^) を 取り込みます。 この コマンドの 2- 
? II 八 52 では ? IX: 力 《ディ スク から 10 を 取り込む だけで, ホス ト (じ? リ /!)!^ 八) との 間での 
データ 車 云 送 は 行われません。 



図 …… 22 56: 八 10 コマンド 



フェーズ 


丁& 


6117 


6 


5 


4 








1)111.1 


備 考 


(; -隔犯 




,0, 




'。, 


で' 




,0, 


丁 


で' 














1-10 


リ 31 


1150 




[-〜八 5 ビ 






エラーの ない 10 情報 を 見つける 






5 丁 








5 丁 1 








^ 1 —— 1 —— 1 —— I —— 1 —— 1 —— 1 —— 
3 丁 2 




ほ-闘 冗 




—— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 









1 —— ! —— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 


已-^ 八 5 にで 読み取った 1 情報 






尺 












4 ^ ^丁 巳 コマンド 



1 トラック 分の フォー マツ ト を 行います。 コマンド フォーマット は 図 23 のよう になって い 
ます。 3(3, 0? 乙の 設定 値 は!^ 八 0^ 丁 八のと ころの 図 を 参照して ください。 バイ トは, 



408 



フロッ ピー ディスク ドライブ 

図 …… 23 ^1^175: 10 コ マン ド 



,了 一ゴ 
ノエ 一 ス 


^巳ム 13/ 
ゅ田 丁 巳 


1)117 


6 


5 


4 


3 




1 


ほ0 


備 条 

1 冊 ^3 






で' 


IV! I 7 


,0, 


で' 


,1, 


丁 


で' 


'ド 


















1-10 


1)31 


リ 30 






只 


1111 










50 








し 








じ 




^ー! 3 ! "!八 5 已 






1 トラック "^の I 门 惜 報の 垂テ" 5 关 

I I ノ ノ ノノ] ゾノ1リ| 冃 V ノ +ム 






3 丁 








5 丁 1 








5 丁 2 




8 や!^ 













1-1 


無 思 味 














^1 


0ゃ^\5 にで 与えた 値 



各 セクタ のデー タ 部分に 書 き 込む 値 を 指定 します。 

2-1^1 八 52 で 与える の は, 各 セクタの 10に, 8, に お) です。 つまり, ,^丁 2 10 コ 
マン ドの 2- で? IX: に 転送す る データ は, 4 X (トラック あたりの セクタ 数) となり 
ます。 

1^-?8 八 32 で 戻って く る 値のう ち, じ, 只, &は 意味 を 持ちません。 ^ バイ トは 0?8 八 32 
で 与えた^ の 値が そのまま 返されます。 



0*5 ^^17^ 八丁 八 コマンド 



コ マン ド フォー マツ トを 410 ページの 図 24 に 示します。 指定した セクタに データの 書き込 
み を 行います。 丑-? ト I 八 52 の データ 転送 方向が 逆になる ほか は 1^5 八 八丁 八 コ マン ドと変 
わると ころはありません。 



409 



図 …… 24 ^ ^丁 巳 八丁 バ コマンド 



フエ— ズ 


巳^ 13/ 

が^1 丁^: 


じ は 7 




5 




3 


2 


1 


刚 


備 考 






[^丁 


【 


で' 


で' 


で' 


丁 


で' 


で 




















1151 


リ 50 























リ 


実行 開始 セクタの 10 情報 


し 「11 八 011 




ド 






「I 
1、 








ヒリ 1 








/1 ひ | 

じ し 








11 X 1 
じ 1 し 




「—叫/ \ば 
匚 「 门 40 [! 






データ 転送 






5 丁 








5 丁 1 








5 丁 2 




ほ-隨 3 ビ 







^ 正常終了 時 

実行 終了 セクタの 次の セクタの 10 






1-1 






^ 


, 異常終了 時 

終了 時の セクタの 10 






^1 





6 ^ぼ 丁ョ ョし [丁已 八丁 八 コマンド 



コマンド フォーマット を 図 25 に 示します。 セクタのへ ッ ダ中 に 八] VI のか わ り に 00 八] VI 
を 書き込む ほか は 八丁 八 コ マン ドと 同様です。 



410 



口 ッ ピー ディ スク ドライブ 



図 …… 25 ^ ^丁 巳 13 己し 巳 丁 日 0厶 丁 八 コ マン ド 



― ,, 

フ ェ 一ス 


5曰 八 13/ 

丁 巳 


6117 


6 






3 






刚 


備 考 






IV! 丁 




5^ 


で' 


で' 




,1, 


で' 


"に ズ し; ^ ""! 八リ 
一 ; ^ に 1(3 じじ 八! VI 


















リ 51 


リ 50 










1111 














1111111 
1-1 


実行 開始 セクタの 10 情報 




\^ 
















~~ 1 ~~ 1 ^ 1 ^~ 1 ~~ 1 ~~ 1 ~~ 1 ^ 
已 丁 








03 し 








丁し 






1^ 




データ 転送 動作 






3 丁 








5 丁 1 








3 丁 2 




ト 隔 5 ビ 


只 


—— I —— —— I —— I —— I —— I —— 


, 正常終了 時 
実行 終了 セクタの 次の セク タの 10 














~ 異常終了 時 
終了 時の セク タの 10 






1^1 





7 8 巴 八 01 八 01\105 丁 に コマンド 



コ マン ド フォー マツ トは 412 ページの 図 26 のように なって います。 尺 2 八!) 八丁 八 
ド とよく 似て I 、 るので すが, 信号の 直後の セ クタから ェ ラーの 有無に 関係な く 強制的 
に 読み出し ていく 点が 異なります。 コマンド 中の (:, ョ, に X が セクタの ものと 一致し なく 
て も, 3 丁 1 の!^!) (お。 03 ね) ビット を' 1 'にす る だけで' 処理 を!^ 樣し 正常終了 します。 

10 ゃデー タ の じ!^ エラーが あっても, 5 丁 1 の 02 03 ね &!" !") や 5 丁 2 の: )I) (!^ね 

2汀0 !" 10 03 ね ? おは) ビッ ト を 丁 にす る だけで 正常終了 します。 

00 八] V [を 検出す ると, 5 丁 2 の (:^ に00 れ 01 1\1;11 セ) ビット を' 1 'にします 力、 処理 は 継 
続し ます。 



411 



き 図 …… 26 01^6^)05 丁 1じ コマンド 



フ丁ー ザ 

ノエ ス 


^に^ 13/ 
丁 日 


1)117 


6 


5 


4 


3 






謎 


備 考 






IV! 丁 




で' 


,0, 


'!' 


,0, 


,0, 


リ' 












1)51 


じ 30 























1-1 


実行 開始 セクタの 10 情報 


「 11 リ八 (;匸 

し 一 ド!" ヒ 


、八/ 


只 






门 








巳 丁 








ひ 〇 1 
1^ 5 し 








~ 1 ~ 1 1 ~ 1 ~ 1 1 ^ 1 ~ 

门 丁 1 
じ 1 し 




[: 0ロ ム (;匚 
匕 一 ド^ 1 八 匕 


、八/ 
れ 




―' 々 法: -モ 
丁 ― ヌ 卑ム达 






5 丁 








3 丁 1 








3 丁 2 




ト剛 5に 













1-1 


^ 正常終了 時 
実行 終了 時の セクタの 次の セクタ 10 






^ 1 ~~ ! ~~ 1 ^ !—^ ~ 1 ~~ 1 ~~ 


^ 異常終了 時 
実行 終了 時の セクタ 10 






「リ 



コ マン ド 終了 時に 読み取れる エラー ステータス は, 処理 中に 起きた すべての エラー 条件の 論 
理和 となって います。 







8 



50 八 1\1 日 011 八し/ 50 八! \1 し 0^ 0^ 

曰 01 リ 八し/ 50 八! VI 1-1161-1 08 50 リ 八し コマンド 



各 コマンドの フォーマット を 図 27, 図 28, 図 29 に 示します。 ネ旨定 した セクタの 内容と, ホ 
ス ト から ? IX: に 書き込む データの 上 匕 較を 行います。 データ は セクタの-:^ 1 データから 順に 比 
較 されて いきます。 ただし, ホストから? IX: に 書き込んだ データ 力 であると き は, その 
バイ トの 上激は 行われず, 等しい ものと して 扱われます。 



412 



フロッ ピ 一ディスク ドライブ 

秦図 …… 27 50^ & 0リ 八し コマンド 



フェーズ 


尺 日 八 13/ 
^^1 丁 6: 


お 7 


6 




4 








6110 


備 考 






IV! 丁 


肝 


5^ 


,1, 


で' 


で' 


,0, 


'ド 




















リ 51 


リ 50 

























実行 開始 セクタの 10 情報 


隔 3 ビ 










—— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 1 —— 








已 丁 








^ 1 ~~ ~~ 1 ~ 1 ~ 1 ~~ 1 ^ 
(^し 








—— 1 —— ! —— 1 —— 1 —— 1 —— 1 —— 1 —— 
5 丁^ 1 




已や 4み5ビ 






デ一 タ 上匕較 






5 丁 








5 丁 1 








5 丁 2 




8- 剛^ 













^ I —— I —— ^ I —— I —— I —— I —— 
1^ 


比較 最終 セクタ 

















5じ 八]^ 2(3 じ 八し は 比較した セクタの 内容が すべて 等しい ときに, 5じ 八]^ し 界 & 
2(311 八し はすべ て 力 5 —&^ るか, 一致し なかった 最初の データ を 上 匕べ たと きに, ディスクから 
読み取つ たほう 力 5 ' 小さい とき, 80^1^ 111011 尺 20リ 八し はすべ て;^ 一致す るか, 最初に 一 
致しな かつ たデー タ を 比べた と き に, ディスク か ら 読み取つ たデー タ 力 5 ' 大 きかった とき に 正常 
終了し ます。 



図 …… 28 50/^1^ し 0^ 08 & 3 リ^し コマンド 



フェーズ 


[み 1 
\^ ^丁 巳 


1)117 


6 




4 


3 


2 




刚 


備 考 






IV! 丁 


ぼ 






丁 


,0, 


,0, 


丁 




















1)51 


リ 50 

























実行 開始 セクタの 10 情報 




ゆ 
















ビ 〇 丁 








(^し 








5 丁 9 




ョ刊/ \5已 






リ 

'(ト 






5 丁 








5 丁 1 








5 丁 2 




8ゃリ も 5 ビ 















最終 比較 セクタの 10 情報 

















414 



フロッピーディスク ドライブ 



図 …… 29 50^ 1-1161-1 08 5:0 じ 八し コマンド 



フエ - 


丁 5: 


まつ 


6 










1 


61(0 


備 考 






V 丁 


肝 




丁 


リ, 


丁 


で' 






















リ 51 


1)50 























1-1 


実行 開始 セクタの 10 情報 


隱 5 に 




—— 1 —— 1 —— 1 —— 1 —— ^―] —— 1 —— 






1^ 








已 丁 








05 し 








5 「? 




[や^ 55 






ネ 々 ["卜 志 六 
丁 ― メょ匚 ?乂 






5 丁 








—— 1 —— 1 —— ! —— 1 —— 1 —— 1 —— 1 —— 
3 丁 1 








5 丁 2 




き 八 5 已 













—— I —— I —— I —— I —— 1—1 —— 1 —— 


最終 比較 セクタの 10 情報 












^1 









9 5 曰 曰に コマンド 



コマンド フォー マツ トは 416 ページの 図 30 のように なって います。 へッ ドを 指定した シリ 
ンダに 移動し ます。 ? IX: は 前回のへ ッ ド 位置 を 覚えて おり, へッ ドの 移動 方向の 管理 や 移動す 
る 量 は X: が 自動的に 判断し, へッ ドを 移動させます ので', じ?1! が コマンドで 与える の は' 
目 的の シ リン ダ 番号 だけです む ようになって います。 

なんらかの 原因で, ? IX: 力 管理して いる シ リンダ 番号と 実際のへ ッ ド 位置が 不一致に なつ 
たような 場合 は, リード/ライ ト など を 行った ときに コマンド 中の 10 と セクタの 10 力 ^ 一致し 
ないた め, エラーと な ります。 このよう な と き はに 次に 説明す る 尺2じ 八し 18 尺八 丁 2 コ マン ド 
を 使って, ? 13 じ の 管理 している シ リン ダ 番号 と 実際の ドライ ブ のへ ッ ド 位置 をと もに に 初 
其附 匕し ます。 



415 



會図 …… 30 コマンド 





6 ヒみリ ノ 
丁^ 




6 


5 


4 


3 


2 




511:0 


備 考 








ず 


で' 


で' 


,1, 




丁 








ゆ 














リ 51 


リ 50 
















^ 嶋ョ 






シーク 動作 実行 



522^ 動作の 終了 は 割 り 込みで 通知 されます。 割り 込みが 発生 したと き, ? 0じ ステータス レ 
ジス タの 010 ビッ トが 力' になって いる こと を 11 認 したら, 32X36 I リ丁 2 尺 尺 I;? 丁 5 丁^ 
丁 115 コ マン ドを 送って 5 丁 を 引き取り ます。 



0.10 1=850 八し 188 八丁 5 コマンド 



コマンド フォー マツ トは図 31 のように なって います。 ? IX: 内部で 管理して いる シ リンダ 番 
号 と 実際の ? 00 のへ ッ ド 位置 をと もに にします。 コマンドと 似て いま すが, 522仄 
は ? IX: が 内部で 管理して いる シ リ ンダ 番号と, 与え られ たシリ ンダ 番号の 差分のへ ッ ド 移動 
を 行う ものであるのに 対し, !^;じ 八し 181? 八丁 2 コマンド は, ? 00 カシ、 ード 的に 持って いる 
ト ラ ッ ク 検出 ぉ#海 か ら 出力され る 信号 (丁尺!^ 00〉 を 使用 し, こ の 信号が 出力 される ま でへ ッ ド 
を 移動 させて いく 点が 異な ります。 

? 00 を 使用し はじめる とき や, ディスクの リード エラー か 起きた ときな どに, へッ ド 位置 を 
初期 ィ 匕し, ?00 の 管理して いる シ リ ンダ 位置と 一致させる ために 使用され ます。 

この コマンド は ? 00 への アクセス だけで, ディスクへの アクセス をと もな わないた め, 
X 68000 では ド 00 力付 妾 続 されて いるか 否かの チェック に 使用 している というの は 前に も 述べ 
たと おりです。 

^2じ 八 乙 18 & 八丁 2 コ マン ドの ま断ぉ の 終了 も 割 り 込みで 通知され ます。 割 り 込みが 発生した 



図 一… 31 6 曰 0^し188;\ 丁 6: コマンド 



フ 1ー ズ 


^曰^ 13/ 
\^^| 丁& 


6147 


6 


5 


4 


3 


2 


1 


し 1(0 


備 考 






で' 




,0, 


,0, 


,0, 


,1, 


'ド 
1)51 


'ド 

リ 50 




ビや^ 55 










リ キヤ リ プレート 動作 



416 



フロッ ピ一 ディスク ドライブ 



とき, ? IX: ステータス レジスタの 010 ビッ トカ" 'になって いる こと を III! 忍したら, 52X56; 
IV 丁 21^1;? 丁 5 下 八丁 115 コ マン ドを 送って 3 丁 を 引き取り ます。 



11 5^1\15^ 11\1 丁 曰^ 8 リ卩丁 5 丁 八丁 リ 3 コマンド 



コ マン ド フォー マツ トは図 32 のように なって います。 割り込みが 発生した とき, ? IX: ステ 
一 タス レジスタの 010 ビッ ト 力 5 '' 'になって いた 場合, この コマ ン ドを 発行して 5 丁 と コマ 
ン ド 終了 時のへ ッ ド のシリ ンダ 位置 を 引き取り ます。 



図 …… 32 55:1\55 丁 巳 88 リ? 3 丁 5 丁 ^丁リ 5 コマンド 



フェーズ 


曰 八 13/ 
丁 5 


ヒ 1*7 


6 




4 


3 






1)110 


備 考 


0-1^ 八 5 に 




,0, 


,0, 


,0, 


,0, 


'!' 




,0, 


,0, 




ビ-嶋 5 ビ 










51 












1111111 
? 01^ 


コ マン ド 終了 時の シリ ンダ 位置 



1? 5 日! \15 日 日 VI。 日 5 丁 八丁 リ 5 コマンド 



コマンド フォーマット は 図 33 のように なって います。 この コマンド を 使う と, ? IX: に 入力 
される ? 1)0 の ステータス ライ ンの 状態 力 1 壳み 出されます。 リザルト ステータスで 引き取られ 
る ステータス は 丁 3〉 の 内容 は 418 ページの 図 34 のように なって います。 



図 …… 33 5^5 & 0^105: 5 丁/ VI "リ 5 コマンド 



フェーズ 


丁匚 


6117 


6 




4 


3 






6110 


備 考 






で' 


で' 


で' 


で' 


で' 


丁 


で' 


で' 














1-10 


リ 51 


リ 50 




8- 嶋 3 ビ 




5 丁 3 








ドライ ブの 状態 



417 



I 図 …一 34 リザルト ステータス 3 (ミ 丁 3〕 



「丁 


^1? 


町 


丁 


丁 3 


40 


031 


1)50 



コ マン ドフヱ ーズで 指定され た 

1)51, 1)50 の ザ 直 



コマンド フ: 11— ズで 指定され た 40 の 値 
ドライブの 丁^) 5;づ6 信号の 状態 

ドライ ブの 丁 「3 ゆ 信号の 状態 
ド ラ ィ ブの お 3~ 信号の 状態 
ドライ ブの が 「は 6 ? 「0 お 信号の 状態 
ドライブの 「3リけ 信号の 状態 



13 5?501「 丫 コマンド 



ディスク ドライブの 禾!^ ごとに 設定 力 5 ' 必要な パラメータの 設定 を 行います。 コ マン ド フォー 
マツ トは図 35 のように なって います。 

5111 0X2? 尺八 丁 2 丁 1^^ は, ステップ パルス (へッ ド 移動 信号) の 間隔 を 設定す る も 
のです。 X 68000 の 内蔵 ドライ ブの 場合 は 3 013 です。 

11111 (^^!) リ^1し0^0 丁 1^19 は, ディスクの リード/ライ ト系コ マン ドカ (終了して か 
ら, ヘッド を アン ロー ド 状態 (ディスクから 離れた 状態) にす る ま での 時間 を 設定し ます。 こ 
の 時間 以内に 再度 アクセスがなかった 場合に は, 次の リード/ライ ト系コ マン ドが 発行され て か 
ら 実際の アクセス 開始 ま で II し 丁 で 指定 し た 時間が とられる ことになります。 

91/1(112 八 し0 八:) 丁 11^5^3, ディスクの リード/ライト 系 コマンドの 実行 開始 時, へ 
ッドが ロード 状態 (ディスクに 接触し, 安定した 状態) になる までの 待ち時間 を 設定し ます。 



き図 一.'. 35 5巧01 ド丫 コマンド 



フェーズ 


^5: 八 13/ 
^卩1 丁 5: 


お 7 


6 




4 










備 考 






で' 


で' 


で' 


で' 


,0, 


,0, 


卞 


,1, 






5^ 


丁 






4 リ 


丁 




町 


1 1 


陽 



口 ッ ピー ディスク ドライブ 



8 ィ ンチ タイプの ? !)!) や, 5 ィ ンチ タイプで も 厚 型の もので は, へッ ドカ; 物種 I 勺に ディ スクと 
接触/ 离諷 動作 をす るよう になって おり, 名前のと おり, ロード/アン ロードだった のです 力、 
X 68000 の 内蔵 ドライブで はへ ッ ド はつねに ディスクと 接触 状態に あり ますので', これらの パ 
ラメ一 タは 名目 だけです。 !!じ 丁 を 長め にしておく と, 少し 間 を あけながら:^ 镜 して アクセスす 
ると き, II し 丁 分の 時間 力 2 ' 不要に な り ますので, アクセスか^ 1 高速に な り ます。 

1^0 ビット は リード/ライト 系 コマンドの 2- ?ト1 八 32 の データ 皁云送 を (:?!; で 行う か, 
01^ 八で 行う か を 設定す る ものです。 ,1 'にす ると (:?!; による 転 逸 ,0 'にす ると:)] V [八に よ 
る 車 云 送になります。 X 68000 では, とくに 理由の ないかぎ り, ^)]V [八 モードで 使う のが 普通で 
しょう。 

31^ 丁, 1111 下, II し 丁の 各 パラメータの 設定 値と それぞれの 時間の 関係 は 図 36 のように なつ 



^ 図 …… 36 5 只 丁, 1 "(リ 丁, !"! し 丁 の 設定 値 と 時間 



設定 値 



5 00 



801 



8 02 



5 03 



5 04 



5 05 



8 06 



3 07 



3 08 



8 09 



お^ 



5 08 



5 00 



500 



50 ョ 



3 0^ 



510 



311 



57 已 



3 7!^ 



早 位 : ^11 5 



21-10 



50 丁 



16 



15 



14 



13 



12 



10 





4 11 丁 



禁止 



16 



32 



48 



64 



80 



96 



112 



128 



144 



160 



176 



192 



208 



224 



240 





禁止 



10 



12 



14 



16 



18 



20 



22 



24 



26 



28 



30 



32 



34 



252 



254 



200/20 



^丁 



32 



30 



28 



26 



24 



22 



20 



18 



16 



14 



12 



10 





807 



禁止 



32 



64 



96 



128 



160 



192 



224 



256 



288 



320 



352 



384 



416 



448 



480 




闩し丁 



禁止 




8 
12 



16 
20 
24 
28 
32 
36 



40 



44 



48 



52 



56 
60 



64 

68 



504 



508 



419 



ています。 



14 35 丁 5 丁 八 丫 コマンド 



コ マン ドは図 37 のように なって います。 

52 丁 57^087 コマンド は, ? 00 の 内部 ク ロック を 停止 させ, スタン ノ ^^ 状態に します。 
この コマンドに は 2- ? ョ八 52 も 尺-? II 八 32 もな く, 書き 込んで か ら約 3 バ 5 後に スタ ンノ 、-ィ 
状態に 移行し ます。 この 状態で も ? IX: の 内部 状態 や 出力 が好 の 状態 は 1親 されます。 クロック 
が 停止す る ため, 消費 電流 は 少な くな り ま すが, X 68000 のように 八 じ 電源で 動いて レ 、るよう 
な ものの 場合に は あま り 意味がない コ マン ド です。 



,図 …… 37 56: 丁 5 丁 八〜 08 丫 コマンド 



フェーズ 


5: 八 0ダ 
丁匚 


13 [! 7 


6 


5 


4 


3 






51^0 


備 考 






で' 


'。, 


'!' 


'!' 


で' 




で' 


'ド 





15 8 曰 5 丁 巴 57 "八! 丫 コマンド 



スタンバイ 状態 を 解除し ます。 コマンド は 図 38 のように なって います。 この コマンド は, 
? 00 内部で は (無効) コ マン ドと同 じ 扱いで あ り, 1?-?11^52 で 3 丁 を 引き取 
る 必要 力 《あり ます。 



図 38 8 巳 5巳 丁 5 丁 八^:) 巴丫 コマンド 



フェーズ 


05: ム 13/ 
丁匚 


お 7 


6 


5 


4 


3 




1 


& は0 


備 考 




界 


で' 


で' 


'!' 


丁 


で' 


1, 


,0, 


で' 




8- 柳お 


8 








51 


で 




1 




580 が 返って く る 



口 ツビ 一 ディスク ドライブ 



ゆ 



16 50「 丁 獣 85 1=^5 已丁 コマンド 



コマンド は 図 39 のように なって います。 この コマンド は? IX: を リセット (初期 ィ し, ハ 
ード 的な リセ ッ ト がかかった のと 同じ;! 犬 態に します。 この コマンド は 任意の タイ ミン グで 与え 
る ことができます。 



'図 …… 39 50 「丁 /ム [^: 丁 コマンド 



フェーズ 


05: 八 0ズ 
^1=81 丁& 


13117 


6 




4 






1 


13110 


備 考 






,0, 


で' 


丁 


丁 


,0, 


丁 


'!' 


で' 





17 1=00 パラメータ/ステータス 一覧 



? IX: のコ マン ドに #151 する パラメータと, :^-?!! 八 52 で 受け取る ステータスの 一覧 を 422 
ページの 図 40 に ま とめて みま した。 パラメータ は 図の 左側から 右に 順に 〇 印 のつ いている も 
の を 送り, ステータス は 同じく 左から 右に 〇 印の ついて いるもの を 引き取つ ていく ようにし ま 
す。 



図 …… 40 「0じ パラメータ/ステータス一 覧 





の 




























〇 












〇 


























〇 
















〇 


〇 


〇 




〇 


〇 


〇 


〇 


〇 


〇 


















山 




〇 


〇 


〇 




〇 


〇 





〇 


〇 





















闩闩 ん 


ェ 


〇 


〇 


〇 




〇 


〇 


〇 


〇 


〇 


〇 


















1 

0: 





〇 


〇 


〇 




〇 


〇 


〇 


〇 


〇 


〇 




















の 


〇 


〇 


〇 




〇 





〇 


〇 


〇 























の 


〇 


〇 







〇 


〇 


〇 








〇 




















〇 
。 


〇 


〇 


〇 




〇 


〇 


〇 





〇 


〇 






〇 















3 腿 






















1 












! 




































〇 










\ト 

の 丄 






























〇 
































〇 


















の 
















〇 


〇 


〇 




























〇 






























ス 
心 


1- 


〇 









〇 


〇 





























」 









































の 


〇 


〇 






〇 


〇 





〇 
























ェ 




の 









































山 















〇 


〇 


〇 


〇 

























〇 


〇 




〇 


〇 





〇 


〇 


〇 




























〇 












〇 


〇 


〇 









































〇 


〇 





〇 























〇 


〇 






〇 


〇 


〇 


〇 


〇 


〇 


















ベム 匚 


8ひ0 八丁/ \ 


リ丄ゼ。 

0313130 


^0 10 


謂 丁ビ 10 


き0 3 丄瞧 | 


ザ丄和 

0313130 3 丄ぉ^ 


瞧 01*61^05710 


50 六^ 5(311 八し 


51; 八^ し 0が 08 
已 011 八し 


50/^^1 41(54 08 
8? リムし 




8 巳 ムし 188 八丁 巳 


5^5^ ^丁 匚6- 
き 丁 5 丁 八丁 リ 5 


5^5^ 附 に ビ 
5 丁 八丁 リ 5 


人」 1。3 お 


3 巳 丁 5 丁/ \|\108 丫 


人 匪 ザ丄5 丄ョ 5 ヨ^) 


50^^ 8655 丁 



-122 



口 ッ ピー ディスク ドライブ 




サンプル プログラム 



? 00 アクセスの サ ンフ 。ル プロ グラムと して, フロッピーディスク の 読み取 り を 行う プロ グ 
ラム を 作成して みま した。 ノ 、'ラ メータで ブロック番号 を 与える と, ブロック番号 を トラック (シ 
リンダ), ヘッド, セクタの 各 番号に 変換して 読み出し を 行います。 

アクセス を 開始した ときに モータの 回転が 停止して いる と, 起 翻 寺 間 (約 0.5 《 だけ 待た な 
いと ドライ ブが レ デ ィ 状態に な ら ない ため, こ の プロ グラ ム では ド ラ ィ ブの 尺 2 八 07 信号が 
'!' になる まで 52X52 5 下^ 下 113 コ マン ドを 繰り返し 送り 続ける ようにして いま 

す。 

また, この プログラム では 割り込み を 使用し ないた め, ? IX: 割り込み を 禁止して います。 こ 

れを 行って おかないと, 割り込みが 発生した とたんに 1^101 3 68圧 の !^じ 割り込み 処理が 

'行われて しまい, つじつまが あわ なくなって しまいます。 



リスト …… 1 フロッピーディスク 読み込み 



ホ ? (: アクセス テス ト 

ネ X。 では 乂013パ16 がサ ポー 卜されて いないため、 

キ 次の 一行 を 入れて 乂0131116 を 無効に してく ださい 

ホ #116^1116 乂0131116 
本/ 

#1110111(16 く は0811ヒ ヒ〉 
5111101 0)^1^20 I 



111181 8 ひ 6 づ 




081 1 ; 




01131 


061; 


111131^6(1 






1111818116(1 


0^1 & I 




1111818116(1 


01131 


001 '; 


1111318116(1 




301 ; 


1111318116(3 




001; 


1X11518116(1 


3110 1*1; 




1111818^ 


31)011; 


ま; 


1111318116(3 


01131 




1111318116(1 


10 ひ 8 


8^)2163; 








1111318116(3 


51)011: 





1111318116^ 


31101-1: 


510; 


111181^116(1 




^5 & I; 


1111818116(1 


10118 


51)31*65; 


1111318116(1 


01131 




1111318116(3 




ま; 


111151^6(1 


01131 


3^)3167 ; 


1111318116(1 




6^; 


1111318116(3 


01131 


3^3168 ; 


1111818116(1 


(;き 


ま: 


1111818116(1 


きは 




1111318116^ 


0113 !' 


8^31610 ; 


1111518116(5 






1111518116(3 


31101^ 


3^31611 ; 


111181^116^ 




5|331 4 612; 


1111318116(3 


あ! 1 


^0; 


1111812116(1 


10118 


5^31613 ; 


1111518116(1 


ま" 


3^31614; 


1111318116(1 


(:ま 


5^31*615 ; 


1111518116(1 




ま; 


1111518116(1 


1。08 


51)31616; 






5?31617 ; 


1111318116(3 




8^; 



乂01 ほ 出6 


511*1101 01^820 


^1113 










1111312116(1 01131 


ネ 流- 


813^1 : 


^1111812116(1 


^ 0x694601; 


乂〇1 れ 116 


1111516116(3 01131 


贩- 


^313 二 


^1111312116(1 0ヒ31 


^0\694003; 




1111518116(1 01131 




.861 二 


3 18116^ 01131 


りひぱぉりり?; 


70131116 


1111518116(1 01131 


ネね に 


;はも = 


^1111518116(1 01131 1 





#^1116 8 觀 28 0x400 

1111318116(1 0^1 31 "じ はで!; 8111^ 12 幻: 



701(1 !!^") ; 
701(1 ^^31 1^163^0 ; 
乂。" ^866^0 ; 
乂01づ 1110101^011 ; 
ゾ。^ 0101;01 "一 0で? ; 

1111518116(1 1111 ^0^561186^1^1^81:31; ; 

聯! 4 ^0^361100111111311(1 ; 
乂。" 1(10^16 & 0131113 ; 
乂。" ^0,3611(1 ; 
111181^6^ 1111 ^^0^163(1 ; 



424 



フロッピーディスク ドライブ 



乂り丄づ ^1113^361:111)0 ; 

V0^6 ^1113—51:31 "!; ; 

701(3 ^1113^5 10? ; 
ゾ。1づ V 1 1^0011)^16160 ; 
乂01廿 0\0^^\^0 ; 

^01(1 013111 (^!^, ^!^) 
1111 ; 

ネ3で8乂〔】 ; 



1111318116(3 1111 1, 」, 5100^ 1で30化, 360101 1 1163(1; 
1111518116^ じ!^で 0; 
け (ばが く 2〉 

ヒ1。は ^ 0; 

6136 1)100^ 二 3101(31^ [リ 〉 ; 

ロパひ ぱ ("わ 10は # : 籠", ゎ滅); 
ロで1111: バ" 丁!^ は : X ぽ ぶ^ : 51001? 》 4〉; 

がま" 863(1 : 籠", ヒ6 お : (きお & 0x8〕 〉〉 3)1 

口]: 111 ぱ^ 560101 : 860101- : 0)10^ & (!^+丄〉; 

で 过0 一 1111; 一 1038 ヒ ; 

1)1-1 11^(^01:01: 0ぉ!?1 !") ; 

111010 し 01)0 ; 

^^^("^!! ぉ3 お!^!") ; 

口 1*1111 バ" 5211 !^" 〉; 

^366^ (!^!^) ; 

^3 : ("で ぽ 1: 腿 8(5 ^ 0x684000; 

(^^― 5611^0 ; 
(^^― 513 で 10 ; 

がは バ" 誦 腿!? ビ); 

^0.561100111111311(1 (!! 0^ 1163(1 5601〇0 ; 
? 1101;^ ("^!! じ0111 口 1616!?1 !" 〉; 
^11—00111 口 1ま0 ; 

1)1*1111^ ^ 863(1 3131:115 二 》 ; 

101 〔1=0: 1 く 811?312 ョ; け岣ズ加) 1 
^0^ 0=0; 〗 く 0x10; ^十) 

ロパ! ("^れ ",づ 13乂ヒ11 パ 卩]]); 



で 01 0=0; バ 0x10; ミ+十) I 

は 1(0 く 0x20〉 || ((: 〉 二 0x60 II 〉: 0x805 && ^ く 0x30)5 5 




425 



口]:^ ぱ ("^つ ; 

010 1:0 1*^0^ ; 

一 11^—1111123 ヒ0 ; 



乂01廿 ^0 & 11,1-63(3^ 
づ0 | 

が し 8611(1 ((^(!^; 
お し 犯血^。。); 
1 VIII 167(^0.16^0 & 0X20 ^ 0)1 



ソ0丄づ ぞ (!— 566^(11*3010 

111151^6(1 1111 も!^じ!^ 

1 '北 ― 3^1(1(0x00; 

他— 3611(1 ん。。) ; 
1(10^3611(1 (!]:^^) ; 

1111318116(1 1111; ^0^861156.111 1;^31;31 

1111518116(1 1111: 5131; 

V ヒ 1 6 り ひれ し 3 1^1 & 0x80)) 

おし 3611(1 ((^!^) ; 

口で 1ハ161^1!131 3131118 二 ^ ; 
1)1111^ ^%02X \ 5131 : ^一 ま (": 

ぱ ('^(^ス^ "パ 北ゾぱが)) ; 
I61;^II , I1^51:^^) ; 



V016 1110 10^0 110 

丰 川づ— 561 : 0x80; 



ソ0ぉ 010101.0^0 

村 お 561 : 0x00; 



426 



ピー ディスク ドライブ 



他— 1111 ―" 腿ョ") 

科は— 3131 卜 0x4; 

で 0^—3611(1—001111113:1 づ (も! "に !^ほづ, 5600 
110518116(1 1111; II "化, ヒ 63(1 8601; ; 



で 3(^3611(1 ((^ぉ) ; 

おし 56 ま (お 3 づ 《2】 

^0^5611(1 ((;!"^) ; 
!^!;— 3611(1 (!^ョな) 

お し 3^1(1 ((^!^) 
^0^5611(3 (0X08) 

? ^3611(1 ^0x3 55 

1(10 5611(1 (!^。。) 



乂013 お。— 163(1—31^ ひ 3 
1111518116:1 1111; 1 

? 01 : 0; 1 く 0x7 
ぽ 1。 "ぐ' 。皿 

口!" 1111; で ("お'' 〉 ; 



I、 00111111311(1 幸/ 

/承 110/1151/1)30 V 

I、 ひ 11 II づ 6 !" V 

/ネ 1163(1 V 

/本 86001(1(5 60 ^!:) V 

/ホ ^11111(8100^ し 6 化仕) V 

/ネ 201 V 
I、 051 V 
/水 1)11(^01; ひ36 め V 



1(10 『63 づ 〉 ; 



乂01づ 1(10^3611(1 ^3 

01131811601 1^1 づ31 ; 

110518116(1 1111 5131 ; 

口]" III ぱ 5611(1 :-切 2X^1 !", "も): 

リ ヒ レひ+^!し 5 【31 & 0x005 卜 0x80〉 

ネでぉ— ぉ13 : 0)31; 

11081806(1 101; ^0.163^0 

1*111 ^(^^ 5131; & 0X00 卜 0X00 



427 



16111111 (^^^^!^) ; 



ソ。^ は!!^— 561^)0 







二 0x80; 




〉0び 


二 0x52; 




なで 


: 0x04; 


〉0じ て 


: 0x00; 


はき 




: 0x08, 




^111^0 


二 0x05 


(!き 


-〉 ま 


: 0x05 



は!03- 〉ま 二 匪 128; 
(!爪さ 一〉 二 ^15^11 1 1 ; 

(!贴 一〉 ぉ1 二 (^!!れほ!^は 011 & I 承) で 一 は31;3; 



ソ01づ ^111^31:311: 

づ^- 〉ぱ1~ |^ 0x80; 



乂。^ ^ 1—001111)16 之 6。 



^116(1 ((!^"^]: & 0x90)5 



±113 -〉。 81 



二 0x1^; 



428 




5 八 51 バスの 概要 



5 八 31 ^550013163 巳がね!!! 1ひ お): おぱ) は, 米国 シュガー ト 社が 自社の ハー ドデ 
ィ ス クイン タフ エースと して 設賈 ナ した ものです。 ノ、。 ソコン の 外付け ハー ド ディ スク 用の ィ ンタ 
フヱ ースと して 普及し, 利用され てき ま した 力 5 ', 最近 は 5 八 51 を も とに 八!^ 31 (八 !!!ぼ^肌 
^13110031 5 ね II お!^ ヒぉ;加 お) で標銜 匕が 行われた 5 じ 51 バス に 移行して きています。 

X 68000 で も , 外付け ノ 、ード ディスク イン タフ ヱ一 ス として は 初^^ 诚 3 八 51 インタ フエ 一 
スが 装備され てきました が, 511?2氏 XVI などで は 3(351 に 変更され ています。 



| 5 八 51 ディスクの 構成 



5 八 51 バスで は, バス 上に: ^ 8 つの コント ローラ 力; 接続で き るよう になって お り , それぞれ 
固有の 番号 ひひ 力 吋 辰ら れ ています。 また, 5^51 コマンド では 各 コントローラの 10 と は 別に 



429 



論理 ュニッ ト 番号と いう もの を 設け, 各 コントローラの 下に:^ 8 台までの デバイス 力ぐ 接続で 
きる よう になって いるた め, 理論 上 は^: 64 台までの デバ ィ スカ 《接続で き る ことにな り ます。 
ただ し, 市販され ている ほとんどの コントローラ では 論理 ュニ ッ ト 番号の うち' 'と 丁 しか サボ 
—ト されて おらず, また, 1-1110^11 68 X でも, それに 準じて いるた め, 実際に 使用で きる の は 
16 台までと なって います。 3 八 31 ハードディスクの 接続 例 を 図 1 に 示します。 

また, ハー ド ディスク 内!^ では 内蔵 ディ スクに 10 を 1 つ 使用して しまい ますので, 外部に 
接続で きる の は 14 台, 内部と あわせて 15 台までの ディ スク カズ 使用可能 となり ます。 



き 図 …… 1 5^51 ハー ド ディスクの 接続 

ズ68000 !" 10 コントローラ 



5 八 51 パス 



ュニ ット 



10 = 



にット 1 



^00 



1-100 



10 ヰ 1 



10 = 2 



10 二 3 



10 = 4 



10 = 5 



10 = 6 



10: 



1-100 



400 



400 



1-100 



1-100 



400 



400 



^00 



1-100 



^00 



^00 



^00 



430 



5 八 51 



5 八 51 バスに よる アクセス では, ホスト (この場合 は X 6800(0 力 5 'デバイス を リード/ライ ト 
する の は 一定の 大き さの ブロ ッ ク と 呼ばれる 単位で 行わ ォレ ディスクの 先頭から 順番に 振った 
ブロック番号 によって, どの ブロック を アクセスす るか を 指定し ます。 ブロック番号から トラ 
ック 番号 や セクタ 番号な どへの 変換 は ハー ド ディスク コント ローラ 側で 行います ので, ホス ト 
は 実際の デ イス ク 上に どのよう にデー タ 力 項己録 されて いるか を 気にする ことなく, 単純に ァ ク 
セス する ブロ ッ ク 番号 を 指定す る だけです む わけです。 ブロ ッ クの 大き さは X 68000 用の ディ 
スク では 256 バイ 卜と なって います。 



2 5 八 51 バス 信号 



5 八 51 バスの 信号 を 図 2 に 示します。 5^5 レくス は, 8 ビッ トの データ バスと 8 本の 制御 信号 
か ら 構成 されて います。 5 八 51 ノ くスの 信号 は どれ も 反転 信号 となって おり, X 68000 側で' 1 'を 
セッ ト すると, バス 上 は' し 〜'レベルに, で 'だと'!^ 2 ビ レベルに なり ます。 それぞれの 信号の 意 
味 は 次の ようになって います。 



》 図 …… 2 5^51 バス 信号 

ホス ト 
(X68000) 



、一ド ディスク コントローラ 



く 



[^丁み 



〉 



ァ 



5 巳し 
657 



丽 

170 
070 



^5 丁 



'レベル : 
1 レ ペル : 



0〗 |0 八丁 八 (データ バス) 



8 ビッ トの 0^ 丁^ ライ ンは, ホストと コント ローラの 間の コマ ン ドゃ データ, ステータスの 
やり とりな ど を 行う ために 使用され ます。 



@2 5 曰し ほ^ば) 



ホストが 8 台の コントローラの 中から どれ を アクセス する か を 決め る ために 使用 します。 



3 85 丫 3 リ 5\0 



5^51 バスが 使用 中で あ る こと を 示す 信号で, コ ン ト ローラ 側が 出力 します。 ホス ト から 選択 
された コントローラ は 85丫 信号 を' 1, ('乙 恥 'レベル) に し, 以後, コ マン ドの 処理 か 完了す る 
ま で, 81)5 V 状態 を 亂 も 続 します。 



04 



コ ン ト ローラが ホス ト に データ 転送 を 要求して いる こ と を 示す 信号です。 通常 は' で 只18 ビ 
レベル) で, 要求 時' 1 '('し 0讽 'レベル) になります。 ホスト は, 1^(3 信号に 対して データの 読 
み 出 しゃ 書き込み を 行った 後, 八 (:^ 信号で 応答し ます。 



05 八 じ に (八 0^ 门 0VV|696) 



信号に 対し, ホス トカ^ 答 を 示す ために 使用す る 信号です。 リード 要求だった 場合に は 
八丁 八 ラ ィ ン 上の データ を 引 き 取つ た 後に, ラ ィ ト 要求 だつ た 場合に は 八 I ム ラ ィ ン 上に 
データ をセッ 卜した 後に 八 (: ^を']; (!^が 'レベル) にし, コントローラが!^; を' 'にしたら 
八 (:ビ を' 'に 戻す ことで 1 回 分の データ 転送 力 孫 冬 了し ます。 このよう なやり と りの:^ 法 を 1^2(3 
-八 0く ハンドシェークと 呼ぶ こと もあります。 



432 



5 八 51 



06 



1/0 (^^^^!^^) 



コン ト ローラが ホストに 対して 八丁 八 ライ ンの 方向 (データの 引き取り を 要求して いるの 

か, 書き込み を 要求して いるの カリ を 示す ために 使用され ます。 1 '('乙 0が 'レベル) の ときには 

コントローラから ホスト (ヒ 口 ば) 方向, '(('の ときには ホストから コントローラ (。は 口 は) 方 
向で ある こと を 示します。 



7 



0/0 (じひ①^!ョ!!づ/!^ョでョ) 



ラインの 内容 力 5 ' データで あるの か, コマンド/ステータス であるの か を 示します。 で' 
('! !ほ!! 'レベル) のとき に はデー タ である こと を 示し ま す。 



08 1^15(3 (陽ぉ的㊀) 



1/0, じ/0 ライン と 組み合わ さ れて, 八 下 八 ラ ィ ンの 内容が メ ッ セージ ノ ^4 ト である こと を 
示します。 メッセージ バイト は, バス 謝 乍の 最後に 転送され るた め, この 信号 力 5 '' 1 '('し ヅレべ 
ル) のとき, パ-ス 動作の 最後の サイクル である こと を 示す と 考える こと もで きます。 



09 



85 丁 



ホストが 3 八 51 バス を 初期化す るた めに 使用す る 信号です。 この 信号 を' 1, ('乙 0吸, 
にす ると, 5 八 51 ノ 《ス 上の コントローラ はすべ て リセット されます。 データ ライト 中で あ つても 
強制的に リセット されます ので, 使用に あたって は 十分 注意して く ださい。 



03 5 八 51 バスの フ I ーズ 遷移 



5 八 51 バス はい く つ 力、 の バス 状態 を 移行しながら 動作し ます。 この 各 状態 を フェーズと 呼び 
ま す。 5 八 51 の 基本的な フ エー ズ 遷移 は 434 ページの 図 3 のように なって います。 



3 5 ム 51 バス 遷移 図 



1/0 = 
0/0 二 
1^50 : 




昍3ビ 丁 



1/0 : 
0/0 = 
^36 ^ 



1/0 ^ 
0/0 ^ 1 
^56 コ 



データ 転ョ 
フェーズ 



1/0 二 0ゅ巧 丁 0/1(6 ひ ^ 
0/0 = 
1^50 = 



ステータス 
フェーズ 



1/0 : 1 
0/0 ^ 1 
1^50 : 



メッセ一 ジ 
フェーズ 



1/0 : 1 
0/0 ^ 1 
鼠 二 1 



(デ —タ 転送が 不要な 場合) 



5 八 51 



01 



バス フリー フェーズ 



バスが 使用され ていない 状態で あり, バス 動作 はこ こから スタート します。 リセ ッ ト後, 
ス はこの 状態に なり ます。 



0-02 セレクション フェーズ 



ホスト 〈X 6800(0 が 5 八 51 上の 8 つの コントローラの 中から どれ を 使用す るか を 決める フ 
エー ズ です。 



0*03 コマンド フェーズ 



'ヨン フヱー ズで 選択 した コントローラ に 対 して 何 を 行う か を 伝える フエ 一 ズ です。 
コ マン ド カ^デ イス クの リード/ライ トゃ コントローラの ス テータ ス 読み出 し な ど, データ 転送 を 
必要 とする もので あつ た 場合に はデー タ 転送 フ ヱーズ に, 必要な レ 、場合に は ステータス フヱー 
ズに 移行し ます。 



04 データ 転送 フェーズ 



ホストと コントローラ の 間で デー タ の 丰云送 を 行 う フヱー ズ です。 転送す る デー タ :; 化 は, コ マ 
ンドフ ヱ 一 ズで 与え た コマンド や パラメータ で 決 ま り ま す。 



05 ステータス フェース 

コン ト ローラが ホス 卜に 対して コ マン ドの 実行 結果 を 知らせる もので, 1 バイ トの データが 
返されます。 正常終了 した 場合 は 300, なんらかの エラーが あった 場合に は 300 以外の データ 
(通常, 302 を 返す ようです) 力 射返されます。 ホスト は 500 以外 力 5 ' 返されたら, 1^01123 丁 
521^52 51^X115 コ マン ドを 使って センス ステータス を 引き取る ようにし ます。 



0-06 



メッセージ フェーズ 



転送 サイクルの 最後に 行われる フ ヱーズ です。 メッセージ バイ トと 呼ばれる 1 バイ ト データ 
力 5 ' 返されます。 的な 5 八 31 デバイス では 300 〈 コ マン ド コンプリート メッセージ) を 返す だ 
けの ようです。 



04 5 八 51 の バス 動作 



5 八お バスのお おまかな 動作に ついて 説明し ま したので, 次に 5 八 51 バスの 動作 を 信号 線の 
動きから 見て いきましょう。 図 4 に バス フリー フェーズから 始まって ふた たひソ マス フリー フエ 
ーズに 戻る までの 5 八 5 レぺス の 動作の 例 を 示します。 この 図で は 信号 線が 上に あるときが' 1, 
(実際の バス 上 は' ひが 'レベル), 下に あるときが' 0, (バス 上 は' ョほ ピ レベル) となって います。 
また, これらの 信号のう ち, ホスト (X 68000) 側 力 ヰ 1 作す るの は 32乙 と 八 (:^ のみで, 残り 
はすべ て コントローラ (ハードディスク) 側か 勒 かす 信号です。 データ ライン は 省略して いま 
す。 



1 バス フリー フェーズ 

バス フリー フェーズ 時 は, すべての 信号 は' 'になって います。 ホスト は, バスが この 状態に 
ある こと を!! 窗認 してから セレクション フェーズ を 開始し ます。 



0-02 セレクション フェーズ 



ホスト は, バス 上に 10 番号 をセッ ト して, 52 し 信号 を' 1 'にします。 10 番号 は, 0~7 がそ 
れぞれ データ ラインの ビッ ト 〜ビッ ト 7 に 対応して おり, 選択したい コントローラの 10 番 
号に 対応す るビッ ト だけが' 1 'となった データ を バス 上に 出力し ます。 たとえば, 100 の コント 
ローラ を 選択す る と き は 501, 10 3 な ら 508 を バス 上に 出力 させる わけです。 

セレクション 力 《うまくいく と, 選択され た コントローラが 85 丫 信号 を, 1 'にして 応答して き 
ますので, 52し を' 'に 戻して セレクション フェーズ を 終了し ます。 83丫 信号 は, 最後の メッ 
セージ フェーズ カタ 冬 了す るまで' 1 'になった ままに なり ます。 これによ つて, 3 八 51 バス 力 《 現在 



436 



5 八 51 



》 図 …… 4 5 八 51 バス 動作 例 

セレクション 

バス フ リーフ 1— ズ フエ一 ズ 



5 巳し 一 
八 が- 

卿- 
35 丫- 
1/0- 

1^50 ~ 



コ マン ド フェーズ 



"バイト) 



データ 転送 フ I 一 ズ 



も卩 



レば 



(が^ 丁 己) 



/データ 転送、 

乂 フェーズ 1 : ステータス フェーズ | メッセ一 ジフ ヱ一 ス 



バス フリー フェーズ 



5^1~ 
^ば— 

阔- 

85 丫- 

1/0- 





氺3 六 51 バス 上の 信号 は 
すべて 反転して おり, 
上 (つ') になって いる 
と き?^' し レベル, 
下 (で') になって いる 
ときが'!"!; 8れ 'レベルで 
1 ある 



437 



動作 中で あるか 否か を 判断す る ことができ ます。 

いつまでも 85 丫 にならない とき は, コントローラ 力 5 ' 存在し ない ものと 見なして, 52 し を' (ド 
に 戻し, エラー 終了 させれば よいでしょう。 

X 68000 では セレクション 用の ポートが あり, そこに データ を 書き込む と 自動的に データが 
出 た 後, 32 乙 信号 か勒 作す るよう になって います。 



3 コマンド フェーズ 



セレクション 力; 終了す ると, コントローラから コマンドの 転送 要求が きます。 1/0, 
1^30 は, それぞれ' 0,, !', で '(アウトプット 方向, コマンド, メッセージで はない) となり, 
信号が' 1 'となって ホストに コ マン ド 転送 を 要求し ますので', ホスト はコ マン ドを データ 
ラインに セッ ト した 後, 八 (:!^ を' 1 'にして コントローラに 応答し ます。 

コ ン ト ローラ は, 八 (:ビ を 受け取る と 1^2(3 を' 'に 戻します ので, ホス ト はこれ をみ て ^(:尺 
信号 を' 'に 戻します。 

このような 尺213- 八 (: に ハンドシェーク を 繰り返して, コマンド とそ れに 付随す る パラメ 一 
タを コントローラ に. り-えて, コマンド フヱー ズが 終了 します。 5 八 31 ディスク の 基本的な コ マン 
ド はすべ て 6 バイト 長です ので, ほとんど の 場合, 1?20~^0^ ハンドシェーク は 6 回 行われる 
ことにな り ます。 

X 68000 では, データ ポートに アクセス すると, 自動的に 八 (:!^ 信号 を 返して くれる ように 
なって いますので, ^(:に 信号の 操作 を 気にする 必要 はなく, 1^2(3 信号の 監視 だけ をして いれ 
ばよ いように なって います。 



04 



データ 転送 フェーズ 



データ 耘送フ ヱーズ では, コントローラ は ひ0 を' 'に 戻し ホス 卜からの 書き込みの 場合に 
は 1/0 をで', 読み出 しの 場合に は 1/0 を' 1 'と します。 1^130 は' 'のま ま保特 されます。 

信号 線 を こ の 状態に 保つ たま ま, ふたたび 尺 20- 八 じ X ハンド シ ヱーク を 行って 必要な 数の 
デー タ の や り と り が 行われます。 コマンド フェーズの ときと 同じよう にデー タ ポー ト への ァ ク 
セス で自— 動的に ハン ドシヱ ークを 行って く れ ます。 

デー タ 転送 は じ? II で 1 つ 1 つ 送る だけで な く , ぼ^ で 行 うこと もで きます。 後で 紹介す る 
サン フリレ プログラム では, データ 転送 フェーズ を 0]V [八 転送で 行って いますので 参考に して く 
ださい。 



438 



5^51 



05 



ステータス フェーズ 



ステータス フェーズ は, ひ 0, 1/0 とも' 1 'となり, 1 バイトの ステータス バイト を 送って き 
ます。 ホスト は, !^;り- 八 じに ハンド シヱ ークで この データ を 引き取ります。 



0*0 6 メッセージ フェーズ 

コント ローラ 側 は ステータス フェーズ 力 ^ 終了す ると, 1\150 信号 を' 1 'にして メ ッ セージ フエ 
ーズ であ る こと を 示し, メッ セージ バイ ト の 弓 | き 取 り を 要求して きます。 ホスト は, 厶 0^ 
ハンドシェーク によって, この データ を 引き 11 义 ります。 こ れに よ り ^1 のノ くス 動作 力 絲冬了 し ま 
すので, コントローラ は 857 を 含め, すべての 信号 を' 'にし, バス フリー フェーズに 復帰し 
ます。 



05 5 八 51 インタフェース ポート 一覧 



5 八 51 ノ 《ス を 制御す る ための 1/0 ポー ト は 図 5 のように なって います。 
5296001 は 5 八 51 バスの データの リード/ライ ト ポートで, この ポートに アクセス すると, 
自 動的に & 2(3 -八 じに ハンドシェーク が 行われ ます。 これにより ソフトウェアで 1^2(3 信号 を 
チヱ ック しながら 八 (:丘 信号 を 操作す る 手間 を 省 く こ とがで き ます。 コ マン ドフヱ 一 ズゃデ 一 
タ 転送 フ ヱーズ では, 01\1 ^の チャンネル #1 を 使って 牟 云 送 を 行う ことができる ようにな つてい 
ます。 0]V [八 リクエスト 信号 は, が' 1 'になった ときに アクティブに なり, 八 じに 信号が' 1, 
になった ときに 復帰し ます。 



図 一.'. 5 5 八 51 インタフェース ポート アドレス一!! 



ァ ドレス 


抓ぽ三 


6117 1)1(6 1)115 


13114 


5113 


1)1(2 


5111 


1)110 


備 考 


3^96001 


ま 




八丁へ 






データ 入出力 


3 曰 96003 




—— 1 —— 1 —— 


1^150 


0/0 


1/0 


85 丫 


吸 


5/^51 ステータス 入力 






0^ 


「六 








3 巳し 信号 を' ひ' (!" 1 レベル) にす る 
〈 0^ は ハ' スに 出力され る) 


れ 96005 




データ 任意 


^丁 信号 を 約 300 パ 5 間'"!' 〈 し レベル) 
にす る 


5^96007 




0^ 


み 丁み を 5/^1 ノ、' スに 出力す る とともに 
5 巳し 信号 を' 1 '(し レベル) にす る 



5296003 番地 は, 読み出す と 3 八 51 の 制御 信号の 状態 力 5 確 1忍 できます。 (:?リ は, この ポー 
ト を 読み出す こ と で, 現在の フェーズ など を 知る こと がで きます。 

5296003, 5296007 番地の 書き込み ポー ト はセレ クシ ョ ンフヱ ーズ^ につ く られた ポー ト 
で, データ を 書き込む と, その データが 5 八 51 バスに 出力され ると ともに, 52 乙 信号が' 'ない 
し' 1 'に セッ ト されます。 3296003 番地への 書き込み データ は 通常 300 にします。 

5296005 番地への 書き込み は, 5 八 51 バスの 丁 信号 を 一定期間' 1 'にす る 信号です。 こ 
の ポートに 書き込み を 行う と, 5 八 51 上に 接続され た ハー ド ディ スク はすべ て リセット され ま 
す。 ディスクの リード/ライ ト屮 であっても 強制的に リセ ッ ト してし まいます ので, 使用に あた 
つ て は 十 分注 意して くださ レ 、。 



6 5 八 51 の コマンド 



5^51 ディスクで 使用す る コマンド は 図 6 のよう な 6 バイ ト データに なって います。 この 6 
バイ ト データ を 転送 順序 どおり 上から 順に コント ローラに 送る わけです。 

泡 長の 1 バイ ト目は ディ スク侧 力、' 行うべき 内容 を 示す もので, オペレーション コ一 ドと 呼ば 
れ ます。 オペ レー シ ヨン コー ド はさら に 上位 3 ビッ ト と 下位 5 ビッ ト に 分けら;^ 」ニ 位 3 ビッ 
トで, その コマンド 力 5 '"^ 的な 用途な の 力', メーカ 独自の コマンド なのかと いった クラス 分け 
を 行うよう になって います。 通常 使う コ マン ドは クラス です ので, 上位 3 ビッ ト はすべ てず 
になって います。 

次の ノ くィ ト の 上位 3 ビット は 論理 ュニ ッ ト 番号です。 3 ビット ありま すので, 1 つの 10 の 下 
に #^:8 個の ュニッ 卜まで 接続で きる わけです が, 実際に は!^! ュニッ ト 番号と して 使われて 
いるの は と 1 だけです ので, 上位 2 ビッ ト はつねに' 'とな り ます。 



図 …… 6 5 ム 51 コ マン ドの一 般形 



転送 順序 


1)117 6116 が ほ 


5114 6113 61*2 13111 6110 


備 考 





コマンド クラス 
1 —— 1 —— 


コ マン ドコ一 ド 


オペ レー シ ヨン コー ド 


1 


11 里 ュニッ 卜 番号 

~~ 1 —— 1 —— 


― ^ —— 1 —— 1 —— 1 —— 

論理 ァ ドレス (上位) 
1 —— 1 —— 1 —— 1 —— 1 —— 


ュニッ ト 番号, 
アクセス 開始 プロ ック 


2 


3 冊理 


V ドレス (中位) 


3 


論理 ァ ドレス (下位) 
^ 1 ~~ 1 ~~ 1 ~~ 1 ~ I ^ 1 ^ 1 


4 


セクタ ブロック 数 


アクセス ブロック 数 




コント 口 一ル バイ ト 




通常す ベて' り' で 可 



440 



5 八 51 



論理 ァ ドレスと セクタ ブロック 数 は, データ を リード/ライト するとき に 有効な もので' リ 一 

ド /ライト を 開始す る ブロック番号と, リード/ライト する ブロックの 数 を 指定し ます。 1 プロ 
ックの サイズ は X 68000 では 256 バイトと なって います。 

最後の コン ト ロール バイ ト は, 8051 では 複数 コマ ン ドを 連続 実行す るた めの フラグな どに 
使われて I 、 ま すが, 5 八 51 では メ 一力に よつ て扱レ 、が 異な るよう です ので, 500 で 使用す る のが 
も!! 難です。 



07 5 八 31 の 主要 コマンド 



5^.51 ディスクの コマンド は, ディスクの リード/ライト など' ごく 基本的な も の 以外に 各メ 
一力 力 3 ' 独自 に 追加した も の 力え 数多 く あり, 「規格」 と はとても いえない よう な 状況です。 ここで 
は, これらの 独 向 コ マン ドは撫 見し, どの メーカの もので あっても ほぼ 備えて いる と 思われる, 
主要な 6 つの コマ ン ド について 説明して おく ことにします。 これらの コ マン ドの 一覧 を 図 7 に 
示します。 

なお, 図 8 以降の コ マン ドの図 の 中で 淙機 が 引いて ある ビッ トは 未使用の 場合が 多い のです 
力、 メーカに よって は 勝 平に メーカ 独自の 機能 (たとえば, ? 尺] V [八丁 0111マ2 コマンドの 論 
理 アドレス 部 を, フォーマット を 開始す る ブロック番号 とするな ど) に 使用して いる 場合が あ 
り ますので, すべて' 'に してお くように してく ださい。 



7 5 六 51 の 主要 コ マン ド 



コ マン ドの 1 バイト 目 


コマンド 名 


備 考 


オペレーション 
コード 


コマンド 
クラス 


コマンド 
コー 卜 


300 





50 


丁已 5 丁 ほ^ ^0 丫 


ドライブが レディ 状態 か チェック する 


501 





51 


8 三 〇;\ し 186 ム丁 5 


ヘッド を トラック に 戻す 


803 





53 


昍 (^巴 了 3^5^ 5 了/ \ 丁 リ 5 


エラー ステータスの 引き取り 


504 







隱隱 0则 巳 


ドライブの 物理 フォー マツ ト を 行う 


308 





お 


8 ひ 


データの 読み取り 


ぉ0 八 





8^ 


^ ^丁 巴 


データの 書き込み 



441 



01 



丁 日 5 丁 巴 85 八 0丫 コマンド 



コマンドの フォーマット は 図 8 のように なって います。 この コマンド は, ディスク 力 《レディ 
状態 (望が, 可能な 状態) にある かどう か を 調べる コマンドです。 データ 車 云 送 を ともなわな いの 
で, コマンド 送出 後, ステータス フェーズに 移ります。 ディスクが レディなら ステータス フヱ 
ーズで 300 力 5 返されます (レディ 状態に ない ときに 返される 値 は メーカに よって 異な り ます)。 




02 



85じ 八し 旧 8 八丁 巴 コマンド 



ディスクのへ ッ ドを トラックに 戻す コマ ン ド です。 コ マン ドの フォー マツ トは図 9 のよ う 
になって います。 少し 前の ハードディスク では トラック の 位置 だけ は ハード 的に へッ ド 位置 
検出が 行われます カズ, 通常の トラック 間 移動の 場合に は コントローラ で 前回 と の 差分 を 判断 し 
て 一定量 移動 させて いる だけでした。 このため, 一度 ヘッドの 位置が ずれる と, いくら ヘッド 
を 動かしても ずれた ままと なり, エラー 力 5 ' 頻発して しまいます。 このような ときには いったん 
ハード 的な センサが ある トラック に 戻してから アクセス しなおす ことで;!'; 5;: われます。 このた 
めに 設けられた コ マン ド が!? ^(: 八し 18 尺八 丁 2 コ マン ド という わけです。 いまどきの 小型の ハ 
一 ド ディ スク はへ ッ ド からの 出力 信号 をみ て 自動的に 自整を 行います ので, このよう な コマ 
ン ドに あまり 意味 はなくな り ま した。 たんにへ ッ ドを トラックに 移動させる ために 使用され 
るき で' しょう。 



442 



5 八 51 



I 図. 



9 6 巳 じ^ し 18 ^久丁 已 コマンド 





03 



8 巳 じ 55 丁 5 已! \15 日 5 丁 八丁 じ 5 コマンド 



コマンドの フォー マツ トは図 10 のように なって います。 エラーが 発生した 場合 (ステータス 
フェーズの データの ビット 1 力ぐ 1 'になって いたと き), ホスト は, この コマンド を 送り' データ 
ホ云送 フェーズで 4 バイ 卜の ステータス を 引き取ります。 エラー 力 《発生した 後, この コマンドが 
発行 される 力、 リセットされ るまで, ステータス フエ 一 ズで渡 される デー タ I ま 正常 に 戻らない の 
力 5 '普通です。 センス バイ 卜の フォー マツ トは 444 ページの 図 11 のよう になって います。 5^ 貝ハ' 
ィ ト で', エラーの 内容 や 論理 ァ ドレスの 内容 カ审 効で あるか 否 力、 が 判断で き るよう になって い 
る のです が, この 内容 は 300 が エラーな しとい う 以外 はメ 一力 ごと に 異な つてい ます。 



図 …… 10 :0 リ 日5 丁 5^55: 5 丁/ \ 丁 リ 5 コマンド 



転送 順序 


6 け 7 6 5 


4 ! 3 2 1 5110 


備 考 





'び 力' で' 


で' で 'び 丫 丫 


オペレーション コード:^ 03 


1 


論理 ユニット 番号 






2 


—— 1 —— 1 —— 




3 




4 




5 





肇図 一… 11 センス バイトの 構造 



転送 順序 



1)147 



慊 



考 



: ラー ク' 



': 論理 ァ ドレスの 値が 有効で あ 
る こと を 示す (丁: 有効) 



(自由に 使用 可) 



論理 ァ ドレス (上位) 



論理 ァ ドレス (中位) 



論理 ァ ドレス (下位) 



1=0^^7 巳 コマンド 



ディ スクを 物理 フォー マツ ト する コマ ン ド です。 コ マン ドの フォー マツ ト を 図 12 に 示し ま 
す。 コマンド 発行 後の フォーマット 処理 は, すべて コントローラ 側で 行って くれます ので, ホ 
スト は ステータス フェーズに 移る まで ィ可 もす る こと はあり ません。 




05 



8 日 八 コマンド 



ディスクの 読み出し を 行う コ マン ド です。 読み出し を 開始す る ブロック番号と ブロック 数 を 

指定し ます。 X 68000 では 1 ブロックの サイズ は 256 バイトです。 コマンドの フォーマット は 
図 13 のように なって います。 



444 



5 八 51 



図 。 … 13 卩巳ム コマンド 



竿 ム 达顺ゅ 


6117 6 5 


4 3 




61(0 


備 若 


じ 


す 1 1 '0' 


'卜 


'。, '。, 




オペ レ— ショ ンコ一 ド- 宋^ 

一」 、 レ ズ ~ 1 ^ — 1 曜 1 や リ 


1 


論理 ュニッ ト 番号 


5 冊丄里 ゾ 


ドレス (上 1 


立) 


読み出し 開始 プロ ック 番号 


2 


^ —— 1 —— 1 —— 
鋼理 


7 ドレス (中位) 




3 


論理 ァ ドレス (下位) 


4 


セクタ ブロ ック数 


読み出す ブロ ック数 


5 


1111 







06 



囬81 丁 日 コマンド 



コ マン ド フォー マツ トは図 14 のように なって います。 先頭 ブロック番号と ブロック 数 をキ旨 
定 して, ディスクへの 書き込み を 行います。 コントローラ は, -] ^氐 でも ディスクの 1 セクタ 分 
の データ 力,; [う まで ディ スク への 書き込み は 行いません ので, データ 転送 カ^! くても 問題 は あ 
り ません。 



図 …… 14 \^ ^丁匚 コマンド 



転送 順序 


13117 6 5 


4 3 21 


1)1(0 


備 考 





1 1 '。, 


'卜 '卜 




才 ペレ一 シ ョ ンコ一 ド: 30 み 


1 


論理 ュニッ ト 番号 


論理 ァ ドレス (上 1 


立) 


害き 込み 開始 プロ ック 番号 


2 




~ I ~~ I ~~ I —— 
理ァ ドレス (中位) 




3 


論理 ァ ドレス (下位) 


4 


セクタ ブロック 数 


書き込む プロ ック数 










サンプル プログラム 



3 八 31 ディ スクの 読み出し を 行う サンプル プログラム をつ くって みま したので 参考に して く 
ださい。 起 胃の パラメータで ブロック番号 を 指定す ると, その ブロック 〈256 バイ ト) の 内容 
を ^ します。 エラー 処理 は 何も 行って いないので, ブロック番号 力^: きすぎ たりす ると, 止 
まって しまいます。 

この サンプル では, データ 転送 フヱ ーズ を!)] V [八 転送で 行って いますが, このと きの 0]V [八 
の耘送 モー ドは' 11, (最初の 1 バイ ト だけが ォー ト リクエスト, 残り は 外部 転送 要求) に 設定し 
ています。 当初, たんなる 外部 転送 要求で よいので はない かと 思って いたので すが, 実際に 行 
つてみ る と, 転送 力 5 ' 途中で 止まって しまう こ とが 多かった ので モー ドを 変更し ました。 この 場 
合, 最初の 1 バイ ト目は 信号の 状態 如何に かかわらず I 云 送 力 ^ 行われて しまい ますので, 
じ? II で 尺 29 信号が' 1 'にな つてい るの を 確認して から, 01^ 八 を スタートさせる ようにして 
います。 



リスト …一 1 5/^51 ディスクの 読み出し 



I、 

氺 3 ム 3 I ハー ド ディスク アクセス テスト 
承 

\ X。 では 乂013^16 がサ ポー 卜されて いないため、 
ホ 次の 1 行 を 入れて 乂0131;116 を 無効に して く ださい 

#1110111(16 ^031113 1 ヒ〉 



110318^6^ 01:31 051~ ; 

111151806(1 0113 !' 061 - ; 
1111318116(1 51101-1; 5ロ3 61 ; 

1111318116^ 01131 - ^01 ; 

110518116(1 01131 - 00?; 

1111318116(1 0113 !" 301 ; 

110318116(1 01)31 001 ; 

110518116(1 5110 !" I 3?31^62 ; 



5 八 51 



11113121160 


811011 


ま; 


111151^6(1 


あで 


^31; 


1111318116(1 


10118 


3^3163 ; 


1111518116(1 


01)31 


^(! & I; 


1111318116(1 


511011; 


3^)3164; 


111131^6(1 




510; 


1111318116(1 








10118 


の 

は 
の 


1111518116(1 




3? & 166; 


1111318^6(1 


01131 




111131^6(1 




31)3167; 


111151^1160 


01131 


6^; 


1111318116(1 




5^3168; 


111181^60 


あ!" 


ま; 




311011 


5^)31*69; 


111181^6(1 


01131: 


81331 1 610 ; 


1111512116(1 


ぁ 


,; 


1111312116(1 


511011; 


51331611 ; 


1111318116(1 


01131 


81)31612 ; 


1111518116(1 


あ!" 




1111518116(1 


10118 


3?31613 ; 


111131^6(1 


311011: 


5 口 『614; 


1111318116(1 




3^31610 ; 


111151^116(1 


訂 


じ-ひ ; 


111181 8 ひ 6(1 


1011? 


3 降 616 ; 


1111318116(1 


あで 


3^)31617 ; 


111181^6(1 


011 & I 


8に 



乂0131:116 

乂0131116 



8111101: !) 臓^ 
111131^116(1 01131 

1111312116(1 011 & I 
1111518116(1 01131 
1111512116(1 01131 

1111318116^ 0)131 



ネ き; 

キ ^313; 
水5351ー 5131: は 3; 
#55151—861—0:^: 
: 1 : 8331^1:6861 ; 
^3351 861 011; 



#^1116 811?5122 0x100 

1111512116(3 (:^^]: 1 81(511 !" [^!]?? I 221 



#^1116 8リ3?82^ ? 腿 52 0x00 
#^1116 321201100^32 0x02 



447 



#^1116 (!) 画^!^?^ \52 0x03 

#^1116 8 皿 0」リ は^ 0x06 

#^1116 51^7115^^35; 0x06 

#^1116 ^33^?^35 0x16 

#^6? 1116 了 0x01 



ソ。" III ま ; 

、(^(! 5351^861601: ; 

乂!^^ 333 1^36^00111111311(1 ; 

^。丄づ 338 し 3611(1 一 3—13 ゲ : 

111181^6(1 1111: 533 1^61^5 131115 ; 

1111318116(1 1111 8 & 3 1^6 ^1116883?6 ; 

701(1 ^31 1^3351^51:31115 ; 

701(3 ^111^361: 11^0 ; 

ま行 ^^1^X10 ; 

V016 31113 一 31;013 ; 

V0^6 ^31 1.001111)1 6160 ; 

乂01 づ ; 



ゾ0ぉ 111311^31*80, ョ!^ソ) 
1111 31^0; 
01131: 氺& ; 

111131^116(1 1111: 1. ^ 1(1, 110, ヒ丄ヒ— ヒ, 511^—111, 1)11(^1 ; 
111151^6(1 011 & I 0; 
け "でが 〉: 2】 

ヒ 11^—110 : 3101 ぉ!^!] 丄]) ; 
6156 ヒ 11^—110 二 0; 

け (^^ 〉: 3〉 

1(1 : & 101 (^^ぱ) ; 

6186 1(1 = 0; 

し 111 二 1)1 に 110 & 0x^1 

51^111 : (馳ーひ。 〉〉 8〉 & 0x17; 

ほ』 : (邊— 00 〉〉 16〉 & 0x1 た 

口"" バ" 810 は # 二 ^は06^は02^^2乂:汕2^ 01^6 : 趣 

1)1 に 船, 51 し 船, 51 に 11, ヒ1し1, 1め; 
? 01 00; 1 く 8リ?812ョ; ト十) 
^131(1)1!? [!] : 0; 



448 



5 八 51 



〈5 ひ リ" 霞 ^ 0x684040 

8 18116(1 01131 氺〉0ズ696001 

(ひ^卵づ 01131 :00ズ696003 

V 111151811 6(1 0(131 400X696003 
^1111812116(1 01131 氺) 0X696005 
^1111518116(1 01131 ホ〉0ズ696007 



5ぉし 

361— 〇1^ 
5331^16561 
8351^561^011 
016 訂ゴ 1^0 ; 
^1113^361; 111)0 ; 

巳^丄らじセひ^) ; 

8331 一 3611(1 一 00 籠 311(1(8, 51 じ1化 一 111, 1)110, 1. 0〉 ; 

^11.3331^3131:115(1)^10^0^32 | 8^—8 は); 

^1113^31: & 11; ; 

^311:^00111 1)16160 ; 

01 6 & 1^1 3^0 ; 

が 11)1 で ぐ'3 了訂 113 ^ 1; 

? 11111; !" ^02X^11 ^ 3331^61.51 & 1113 ()) ; 

ぼ 1ひ ぱ ("遞 お八 ぽ : つ; 

^01 ひ:0; I く 811?5122; ひ^ズ^) [ 
^01 0=0; 3X0x10; 】 十十 〉 

口 II。 ば ("龍 ",は 181^ ば [ひ』]); 
で 01 0=0; 】 く 0x10; コ' 十十) | 

1 ぞ く 0x20 I 1(0 〉: 0x60 1 1 (ひ 〉: 

お!" 1111? 、 - 〉 ; 
6136 ? !:!!!!^ \巳 ,(! I 51(1311^ [丄十】] 〉 : 



0x80 && (じ く 0x30)5 



ロ辻^ ("? ビ) 



、(^(! 8331^861601 

1111812116^ 1111: 1(1; 

I 

111181^6^ 1111: 8131; 

ロ1^111; バ" 5 ぬ I 3131 : 7 ^1\\ 8130 ; 

6x11(1〉 ; 

キ3351 361 011 ^ 1 くく 1^; 



449 



^は ― 5 おし 3131115(55 し ョじ 丁 101?!!^^ ; 
氺 3351—561—0 ぞ:? 二 0; 

乂01 づ 3351 一 8611(1 一 00111111 & 11(1(1)1 , 口 2, ロ3, ?4, ロ5, 口 ち) 
1111818116(1 1111: 口 1, が, 口 3, リ 4, 口 5, 口 6 ; 

833 し 3611(1 一 3 一 わ ゲ おお) ; 
5351—5611(1—3—1^16(^2〉 ; 
533 し 3611(1—3 一 !) れ 6 (が) ; 

ミ。:^— さ— ゎ;/!^く!^) ; 

3 & 31— ョ^卩は— 3ー !) ゲ !^れ りノ ; 
1111518116^ 1111 6^1 ; 

^1 し 5ぉし ミね加"^ 醒體 ― ?^3ョ I 1?2181 丁); 

^8351 ^31:3 二 ^1; 



1111518116(1 1111 3 & 3 1^6^-5 I & 1: 115 

^3 & 51.31:31113(5705^52 | 氣 81 了); 
1*61:11171 ぐ (ひ!^ぇ 8 れ 6(1 1110 氺3 & 81 一 (^セ珏) ; 

111151^16(1 1111: 838 1^861.111653386 

鼢 1 し 333 し れ & もひ" 腿 55^58ー?8 八が I 829—81 丁); 

乂。!^ V 11^8 & 51^31: & 1115 ((!^!) 
1111518116(3 1111: ^1 ; 

*11116(*8331 - 31; & 1113 ! : 6^0 



450 



乂。^ ^111^561: 11^0 





: 0x80 




き— 〉001: 


二 0x63 




加 &-〉 301 


: 0x04 




(! 腿-〉。。! 1 


二 0x00 




^1113 —〉 じ 1^ 


二 0x08 




31113 -〉 1^ 


: 0x05 




(!讯ほ 一〉 (!:^ 


二 0x05 




-〉 ま 


^^811?5122; 


(!船 一〉 紐 


: ^13^1)11^ ; 


き 一〉 き 


二 VII 1151 8116(1 01131 405351 ^313; 



ゾ。" は體ーぬで") 

(!!!^- 〉ば『 卜 0x80; 



^^(! (ね -〉 081 & 0x90〉〉 

1 

乂。" 01631^1 & 20 

き— : 0X^1 



:5031 



8 じ 51 インタフェース は, 5 リ 1^8 以降 内蔵され, 00-/70/^1 
など 新し I 、デバイスへの 対応 も 期待され て I 、ます。 ここ では, 
8081 コントローラし 31 の 扱 I 、方と, 5051 ディ ス クのコ マン 
ド について 説明し ます。 



5051 の 概要 



5051 イン タフ ヱース は, 3 八 31 を もとに 複数 ホス ト への 対応, コ マン ドの 機能 拡張な ど を 行 
い, 八;^ 51 で 規格 ィ 匕した ものです。 5 じ 51 と 5 八 51 と 比べた ときのお もな 違い を あげる と, 次 
のように なり ます。 

, 複数 ホス 卜の 構成に 対応した 

^ 時間の かかる コ マン ド 処理の 場合に いったん バス を 切り離し (ディスコ ネク ト), 後で '西 妾 続 

する (リ コネクト) 機能 力; 追加され た 
~ バスの 使用権の 調停 をす る ァービ ト レー シ ョ ン フェーズ, - 雨 妾 続の ための リ セレクション フ 

ニーズが 追加され た 
~ イニシエータから ター ゲッ 卜への メッセージ 転送 機能 力 5 ' 追加され た 
, メッセージ フェーズ, ステータス フェーズで 返される も 直が 規樹 匕され た 
, 複数 コマ ン ドの纖 実行 を 指定す るコ マン ド リ ンク 機能の 追加が 行われた 
, リード/ライ トコ マンド や センス データに 拡張 フォー マツ 卜が 定義され た 



453 



これらの 変更に ともない, 呼び 方 も いくつか 変更され ています。 大きな 変更 点と して は, 

5 八 51 の ホス 卜と コントローラ という 名称が イニシエータと ター ゲッ ト という 名称と なった こ 
と, メッセージ 丰云 送が 双方 向に なった ことから, イニシエータから ターゲットへの メッセージ 
車 云 送 フェーズ をメ ッ セージ アウト フェーズと 呼ぶ ようになり, 5^51 のメ ッ セージ フェーズ は 
メ ッ セージ ィ ン フェーズと 改名され たという 2 点が あげられる でしよう。 



0*1 5051 バスの 構成 



5051 ス 、'ス は, 5^51 と 同様に 駄 8 個の デ' ^4 ス を 接続で きる ようになって います。 ただ 
し, 5 じ 31 の 場合に は イニシエータ は 68000 本体) 自体 も 10 を 必要と します ので, バス 上に 
接続で きる の は 7 個までと なります。 5 じ 31 上の から 7 までの 10 のうち, X 68000 は デフ ォ 
ル ト では 10 # 7 を 使用 しています。 

5じ51 も, 5^31 同様に, 論理 ユニット 番号 を 使用す る ことで 各 10 の 下に 8 台の ユニット 
が, さらに 3 じ 31 の拡 彌士 様と して 設けられた 2乂 丁 2X020 1021^ 丁 I? 丫 メ ッ セージ を 利用 
すると, 各 10 の 下に 2048 台の ュニッ トカや 接続で きる ことになる のです 力、 シ ヤー フ 'か 寸是 供し 
ている 標準の 5 じ 31 ドライバ では, これら を まったく 使用して いない (コマンド 中の 論理 ュニ 
ッ ト 番号 は のみと なり ます) ため, 5 じ 51 バス 上に 接続で きる ディ スク は^; 7 台と なって い 
ます。 5(^1 バスへの ディ スク の接樹 列 を 図 1 に 示します。 

アクセスの 単位で ある ブロックの 大きさ は, 111011311 68 X の 場合, 5 八 51 では 256 バイ ト固 
定 でした が, 5051 ドライバ では 256 バイ ト, 512 バイ ト, 1024 バイ 卜の いずれで も かまわな 
いよう になって います。 



02 5031 バス 信号 



5じ31 バスの 信号 を 456 ページの 図 2 に 示します。 信号 線と して は 5 八 31 か特 つていた 信号 
に, 八丁] ^信号と 0? (パリティ) 力 《追加 された ものと なって います。 5 じ 51 対応 テン ^4 ス の 傾 
向と して は パリティ を 使用す る ものが 多くな つてき ています 力;', 乂 68000 の 5じ51 ドラ イノべ' 
は, 5 じ 31 コントローラ を パリティ ディ セーブ ル (自分が データ を 出力す る ときには パリティ を 
出力し ます 力 5 ', データ 入力のと きの パリティチェック は 行わない モー ド) にフ 。口 ダラム して 使 
つてい ますので, 接続され る デバイス は パリティ を 使用して いなくても かまいません。 



454 



5051 



1 5051 ディスクの 接続 

乂68000 



40 コントローラ 



10 : ― 



10 = 



1-100 



10 : 1 



400 



10 = 2 



800 



10 = 3 



400 



10 = 4 



10 = 5 



400 



10 = 6 



400 



01 



八丁! \1 信号 



3じ51 になって 追加され た^!^ 信号 は, イニシエータ (通常 は X 68000) から ターゲット 
(ディ スク など) に対して, データ 転送 中の エラー 通知 や 馳, モー ド 設定な ど を 要求す る 信号で 
す。 イニシエータと ターゲットが はっきり している 状態 (バス フリー フェーズ や バス 使用権の 
調停 を 行う アービトレーション フェーズ でない 状態) であれば, イニシエータ は' いつでも 
八丁]^ 信号 を' 1, (し が レベル) にして ター ゲッ トに 通知したい 内容が ある こと を 示す ことが で 
きます。 通知す る 内容 を 実際に 送る フヱ ーズ は, メッセージ アウト フヱ ーズと 呼ばれます。 タ 
ーゲッ トは 都合の よいと きに メッセージ アウト フェーズに 移行して' イニシエータからの 通知 
を 受け取り ます。 



455 



図 …… 2 5051 バス 信号 

イニシエータ 



タ 一ケッ ト 



5 匚し 
63? 



卿 
丽 



10 



03 3051 バスの フェーズ 遷移 



5 八 51 から への 移行で 増やされた フェーズ は, バス 使用権の 調停 をす る ァービ ト レー 
シ ヨン フェーズ, 八 IX 信号のと ころで も 触れた メ ッ セージ ァゥ トフ ヱ ーズ, ター ゲッ 卜から ィ 
ニシ エータ^^ 妾 続 を 要求す る リ セレクション フェーズの 3 つ だけな のです 力つ これらの どれ 
もが フェーズ 遷移と して 整理し にくい ものである ことから, 的な 形に 表そう とすると 図 3 
のように なり ます。 



456 



5051 



3 5051 バス 遷移 図 (規格 書より〉 




^6561: 



コマンド フェース 
データ イン フェーズ 
データ アウト フェーズ 
ステータス フエ一 ズ 
メッセージ イン フェーズ 
セージ アウト フェーズ 




これで は いささか わかりにく いので', 具体的な フェーズ 遷移の 例 を ディ スクの 読み出し を 例 

に 図示して みたの が 458 ページの 図 4 です。 これ を もとに, バス 遷移 をかん たんに 説明して お 
きましょう。 この 例で は, コマンド を 受け取った 後, いったん バス を 切り離し, 読み出す デ— 
タか 摘った 時点で 两妾続 するとい う, やや 3は1 ら しい 謝 乍 を 行わせて います 。 



457 



》 図. 



4 5051 バス 動作 例 (ディスク!^ ョづ) 



バス フリー、 
フェーズ 



ァ ービト 

—ソ 3 ノ 1 
,ェ— ズ ノ バス 使用権の 獲得 



ぃンェ 一夕の 



'セレクションお イニシエータ 力く ターゲット を 
フェーズ ノ 選択 (/^は' "にする) 



^ メッセージ、 

アウト ! 10 ^丁 1ド 丫 メッセ一 ジ 送信 

、フェーズ ノ 



コマンド 

フェーズ ハひ コマンド 送出 



〈メッセージ、 ターゲット は 01500,^1 

イン ^ メッセ一 ジを 送信し 
、フェーズ ノ つたん バス を 切り離す 



ソ'— ビト 、 タ―ゲ ~ トが 

フエ ヒョ; く 1 バス 使用権 を 獲得す る 




コ マン ド 実行 完了 
メッセージ を 受け取る 



ステータス ^ コ マン ド 実行 結果の ス 
-ズ ノテ一 タス を 受け取る 



イニシエータ は 
データ を 受け取る 



/メッセージ、 ターゲット は 丁 ||^ 
| メッセ一 ジをィ 二 シェ一 
夕に 送る 



ターゲットが イニシエータ 
を 選択 



5051 



01 



バス フリー フェーズ 



べス がまった く 使用され ていない 状態です。 バス 8 力作 はこ こから スタート します。 



, 2 1 ァ —ビトレ 一 シ ヨン フエ 一 ズ 



ノ ぺス の 使用権の 調停 を行レ 、ます。 バス を 使用した いも のが, デー タ ノ 、ス 上に 各自の 10 番号 を 
出力 し, もっと も 優"^ の 高い (もっと も ^ 度が 高 いのは 10 # 7 : 通常 は X 68000 本体) も 
のが バスの 使用権 を 獲得し ます。 ここで 負けた もの はふた たび バス フ リ ーフ ヱーズ になる まで 
待た されます。 



0-9 3 セレクション フェーズ 

バスの 使用権 か 1 葬られた イニシエータ は, セレクション フェーズ によって ター ゲッ トを 選択 
します。 3 八 31 の セレクション フヱ ーズと 同じような ものです が, データ バス 上に は ターゲット 
の 10 だけでなく, 自分の 10 番号に あたる ビット も' 1 'にす ると ころ 力 、'違います。 これ は' ター 
ゲッ ト に対して 誰が 自分に アクセス しにき たかを 伝え, 後で 述べる リセ レ クシ ョ ン フェーズが 
実行で き るよう にす るた めです。 

また, この 例で は セレクション フェーズの ときに 八丁]^ を' 1 'にして います。 八丁!^ を' 1 'にす 
るの は オプション であり, ,0 'のま まにして おいても かまわな いのです が, この 例で は, ター ゲ 
ッ ト に対して ディ ス コネクト 処理 を 行って もよ いこと を 伝えたい ので, 八丁:^ 信号 を 使用 し, 次 
のメ ッ セージ ァゥ ト フェーズ を 要求して います。 



04 



メッ 乜ージ アウト フェース 



セレクション フェーズの ときに 八丁 X を' 1 'と して 選択され たので, ター ゲッ トはコ マン ドフ 
エー ズに 移る 前に メ ッ セージ アウト フェーズに 移行して イニシエータからの メ ッ セージ を 受け 
取り ます。 

イニシエータ は, ここで 1021^: 下 I?? メッセージ を 送り, この 中で ディスコネクト 処理 有効 
を 伝えます。 



459 



05 



コマンド フェーズ 



イニシエータからの メッセージ を 受け取った ター ゲッ トは, 次に コマンド フェーズに 移行 

し, イニシエータからの コマンド を 受け取ります。 この フェーズの 謝 乍 は 3 八 51 のとき となん 
ら 変わり ません。 



06 



メッセージ イン フェーズ 



3 八 51 では, こ の 後, 実際の データ 転送が 始 まるまで ノ くス は 81157 になった まま 〈85? 信 
号が' 1 'になった まま) でした 力 5 ', 実際に は!^^ コマンド を 受け取った 後, データ 力 48 う まで 
に はかなり 時間が かか るた め, ターゲット はこ こ で' 、'ス をい つ たん 切 り 離 し, バス フリー フエ 
ーズに 移行し ます。 

ターゲット は, メッセージ イン フェーズ でい う, メッセージ フェーズ) に 移行し, ィ 
二 シェークに 対して ひ^^^^ [卩 2じ 丁 メッセージ を 送り, バスの 一!^ 刀り 離し を 通知し ます。 
この 後, イニシエータ, ター ゲッ ト とも バスの 使用権 を 放棄し, 5 じ 5レ 《 ス はふた たび バス フリ 
一 フェーズに 移行し ます。 



07 



バス フリー フェーズ 



いちばん 最初の バス フリー フュー ズ となんら 変わる ところ はあり ません。 ただ, 内部的に は, 
先 ほどまでの イニシエータ は ター ゲッ ト からの リコ ネク トを 待って いますし, ター ゲッ トはデ 
一 タ の 読み出 し を 行い, イニシエータ への 転送の 準備 を 行 つてい ます。 



, 8 1 ァ— ビトレ 一 シ ヨン フエ 一 ズ 



データの 用意が できた ターゲット は, アービトレーション フヱ ーズに 参加し, バスの 使用権 
獲得 を 行います。 ここで 負ければ, 次の バス フ リ ーフ ヱーズ まで 待た される こ と にな り ます。 



460 



5051 



09 



リ セレクション フェーズ 



バスの 使用権 を 獲得で きた ター ゲッ トは, リ セレクション フェーズに 入り' イニシエータと 
-两妾 続し ます (ここでり セレクションで なく, セレクション フェーズに 入って しまう と' 自分 
がィ 二 シェークと して 動作す る ことにな つてし まいます) 。最初の セ レ クシ ヨン フェーズで ィ 

ニシ エー タカ 《度した 10 は, この フェーズで 必要になる わけです。 



0*010 メッセージ イン フェーズ 

ター ゲッ トは イニシエータ に対して 1021^ 丁 1?丫 メッセージ を 送り ます。 この メ ッ セージの 
中に ある 論 現 ュニッ ト 番号に よって, イニシエータ は どの 論理 ュニッ トの^ II 吉果を 受け取る 
のか を 知る ことができます。 



0-011 



丁 一 タイン フェーズ 



ターゲットから イニシエータに 対し, ディスクから 読み出した データの 転送 を 行います。 転 

送 は 5 八 51 同様, 八 じに ハン ドシヱ ークで 行われます。 



0-01? 



ス丁ー タス フェーズ 



5 八 51 のとき と 同様, コマンド 実行 結果の ステータス を 受け取ります。 3 八 51 では 300 の 正 
常 ステータス 以外 は メーカ ごと に 勝手に 割 り 振って いました が, 5051 では ステータス 番号と 
内容 力 4 見定 されて います。 



0-013 メッセージ イン フェース 



5^31 のとき の メッセージ フェーズと 同様です。 通常 は 800 (^^^^^!) 00^?^^ 
メ ッ セージ 力^ されます。 これで コ マン ド 処理 は 終了 し, 3じ51 バス はふた たび バス フ リ 一 フエ 
ーズ になり ます。 



5 八 51 のとき に比べる と, 面倒に なった よ う に 思えます 力、 これ は ディ ス コネクト/リコ ネク 
ト 機能 を 使って いるた めです。 3031 では, これら を 使用し ない 動作 も 可能と なって おり, この 
場合の 動作 は セレクションの 前に アービトレーション フェーズ がく る 以外 は 5 八 51 のとき と 
ほとんど 同じです。 後に 紹介す る サンプル プログラム でも, 簡斷 匕の ため, ディスコ ネク ト ダリ 
コネ ク ト 機能 は 使用して いません。 



04 5051 の バス 動作 



先 ほどの フェーズ 遷移 を 信号の 動きで 追い かけた の 力 《 図 5 と 図 6 です。 ほとんど は 3 八 31 と 
同じです ので, ここで は 追加され た アービトレーション, メッセージ アウト, リ セレクション 
の 各 フェーズ を 見て お くこと にしましょう。 



462 



5051 

図 …… 5 5051 バス 動作 例 (その 1 ) 



バス フリー フェーズ 


アービトレーション フェーズ 


セレクション フ I ーズ メッセージ アウト フエ一 ズ ! 


、圍 




丁 I 「丫) 











55 し 
職 

嗎 
85 丫 
1/0 
0/0 
^156 

ァービ ト レー シ ョ ンに 参加した 全員が 
83 丫を 下ろす 




(メッセージ アウト フェーズ) ! 



コ マン ド フェーズ 



メッセ ーン イン 

フェーズ バス フリー フェーズ 



八丁!^ 



; ([^(:。,^: 丁) 1 



5 已 し- 



八 ぱ帽 



卿- 

85 丫' 



レハ 



1/0- 
070~ 



【6誦 



463 



》 図 …… 6 5051 バス 動作 例 (その 2〉 



リ セレクション 

バス フリー フェーズ アービトレーション フェーズ フヱ一 ズ! メッセージ イン フェース 
^ ^ ^ 



4丁に 

3 曰し' 
八び- 

卿- 

85 丫- 
1/0- 
0/0 ~ 



1~1 



メッセ一 ジ イン フェーズ ト データ イン フ 1 — ズ ― ぅテ — タス フェー ズ メッ セ- ジ イン フェ -ス' | バ ス フリ -フェ -ス' 



八丁" 國 



5 にし- 



八^ 



卿- 
83 丫- 

1/0- 

ゅ- 

1^30 ~ 



レハ 



01 



アービトレーション フェース 



アービトレーション フェーズ は, データ ライン 上の 自分の 10 に 相当す るビッ トと 837信 
号 を' リ 0^ ^0 にす る ことで 開始され ます。 アービトレーションに 参加したい デバイス は, 
83丫 信号 力 5 '' 1 'になって から, 1.8 〃3 以内に 自分の 10 に 相当す るビッ トを' 1 'にします。 

85? 力ぐ 1 'になって から 2.2〃^ 後に, データ ライン か 1 売み 出されます。 自分の 10 よりも 優 



5051 



先 順位の 高し 、ビット 力 5 '' 1 'になって いないと き は, その テン くィ ス が' 《ス の 使用権 を 獲得 します。 
優" ^ 頃 位 は 固定で, 10 #7 が もっとも 高く, 10 #0 が もっとも 低くな つてい ます。 X 68000 の 
5031 ドライバ では, 自分の 10 の デフォルト値 を #7 に 設定して います。 



02 



メッセ 一 ジ アウト フエ 一 ス 



1/0, (:/ ひ 1^5(1 が それぞれで', !', 1 'となります。 メッセージ イン フェーズのと きと は 1/ 
か' 逆にな つてい ます。 メッセージ データの やり とり を 尺ぉり- 八 じに ハン ド シェークで 行う の 
は 5 八 31 のとき と 変わ り ません。 



03 



リ セレクション フェーズ 



セレクション フェーズ では 1/0, ひ0, 1\130 が それぞれ' 0,, ,0,, ,0 'でした 力ぶ, リセ レ クシ 
I ン フェーズ では データ バスの 向きが ター ゲッ 卜から イニシエータに 向きます から, 1/0 が 逆 
: なり, 丁, で', で 'の 状態で 52 し 信号が' 1 'になります。 



2 X68000 の 5〇51 インタ 
フェースの 概要 



乂 68000 の 5 じ 51 ィ ンタ フェース は, オプション ボー ドで 対応す る ものと 標準で 内蔵した も 
のの 281 頁が あります。 これら は 使って いるし 51 ほ?じ: 5 じ 51 プロトコル コントローラ) こ 
そ 同 じです が, ポー ト ァ ドレス や 割 り 込みな ど は 変更され てお り , 5じ31 内蔵 モデルに 3 じ 31 ィ 
ン タフ ヱ ース ボード を 取 り 付け る こと も 可能に なって います。 

また, これらと あわせ, 3 じ 31 対応に する ため, 従来 雄 用であった 5 尺八] V [の領 域に 新たな 
情報の 追加な ど 力 《 行われて います。 

ここで は, これらの 機種 間の 違い や, 新たに 追加され た 情報な どに ついて 説明し ます。 



か 1 



5051 関連 ポート ,割り込み 



X 68000 の 3 じ 51 ィ ンタ フェースの ポート アドレス や 割り込みの 配置な ど は 図 7 のよ つ に 
なって います。 表 中, 503 ト尺 01V [というの は, 3じ31 から ブートす るた めの I? しな ど 力む きき 
込まれた ^0肌 5じ5 ト尺 01\^ [識別 ラベル は, その アドレス にある ものが 3じ3 ト尺 01\1 である 
こ と を 識別す るた めに 書き込まれ ている 文字列です。 8081 内蔵 タイプで は, 3?00024 からの 
5 バイ トに' 3 じ 511が という 文字列が, 02- 6851 では 52厶0044 からの 5 バイ 卜に' 5じ512乂, 
という 文字列 か ニ書 き 込まれて います。 



7 5051 関連 アドレス 等 



条 件 


5051 内蔵 モデル 


拡張 ポー ド (じヱ吒日らり 


のポ一 ト アドレス 

5^ ^や 0リ のァ ドレス 

5?0 の 割り込み レベル 
〃 ベクタ 
505 卜^)! VI 識別 ラベル 


3已96021〜ま^9603「 

レベル 1 
360 

も 「00024 〜串 「00023 
853435349494 & 
はじ引 1^0 


本^八0001〜串已八001 ド 
3 已 み 0020~5 已ム 1! 1 ^ド 
レベル 2 と 4 を 選択 可 
杯 6 

本 巳 八 0044 〜^に 八 0049 
3534353494558 
は 51^ 



か 2 『し -8〇1\^ の 内容 



X 68000 の 5 じ 31 内蔵で ない モデ ノレで は, I? し-尺 01\ ; [領域 256 X バイ ト のう ち, 前半の 3?じ 
(^(^〜乐?!)???? の 128 X バイトの 領域 は 使用され て おらず, アクセス すると, 後半 は? 2 
0000〜5????ヌ円 と 同 じ もの か 1 売み 出される よ う になって いま した 力く 5051 内蔵 モデルで 
は, この 領域のう ち, 3700000-51^1??? の 8 ^ バイ ト を 3 じ 31 用の I? 乙 プログラム 領域と 
して 使用し, 残りの ??じ之。。!)〜??!)???? はすべ て 3?? になって います。 

また, 5 じ 51 内蔵 モデルで は, 内部 メモリ 容量の デフォルト値 を 2 IV [バイ ト と している ため, 
I? レ& 01\4 中の 5??0798 番地の 内容が お から あ 20 に 変更され ています。 



か 3 88 八! VI の 内容 



5 じ 31 対応 ィ 匕に ともない, 31^^1 の 320006?, 3200070, 5200071 番地 力 5 ' 使用され るよ 
うにな りました。 この 内容 を 図 8 に 示します。 



466 



5051 



》 図 …… 8 5^/1 の 追加 情報 





1)11 7 


6 




4 








& 110 


^0006^ 




リ , 


,0, 


,1, 


で' 


,1, 


,1 , 






















お 00070 


,0, 




で' 


で' 


,0 ': 内蔵 

リ ': オプション ポ-ド 


本体の 10 番号 




















I 巳 00071 


5 八 7 


5^6 


5^5 


5;\4 


5;\3 


5;\2 


3^1 


5^0 



5 八 51 フラグ 



5^51 ディスク を 3031 ノ 、'ス につない だ と き 
5^51 ディスクの 1 に 対応す る ビット を' 1 1 
にす る 



520006? 番地 は, 3200070, 3200071 の 内容が 有効で あるか 否かの フラグと して 用いられ 
ており, 有効で あるとき は 356 は 301 コー ド で'' V? か嘗き 込まれます。 下 'か 省き 込まれて い 
ない 場合に は, 5 じ 51 ローダ プログラムが' V 'を 書き込む とともに, 3200070 を 307, 5200071 
を 500 に 設定し ます。 

3200070 の ビット 3 は, 5051 内蔵 タ ィ プに 5 じ 31 ォプシ ョ ン ボー ド を 取 り 付けた 場合, ど 
ちらの 5051 を 使用す るかの フラグで, で 'のとき は 内蔵 5 じ 51, 丁の ときには 3 じ 51 ォ プショ 
ン ボー ド を使坩 します。 5200070 の 下位 3 ビッ トは 自分自身の 10 番号です。 5 じ 31 ローダに 
よ る 初期設定 値で は, 5051 は 内蔵の もの を 使用し, 10 は 7 となります。 

5200071 番地 は, 3 じ 51 イン タフ ヱ ースに 3 八 51 ディスク を接統 す る こと を 考慮した もの 
です。 5 八 51 ディスク を 接続した ときには^ 131 ディスクの 10 番号に 相当す るビッ トを' 1 'に 
します。 5(351 ローダに よる 初期値 はすべ て' 0〜 すなわち, 5 八 51 ディスク は 接続され ていない 
という 設定に なり ます。 



@ 4 5051 装置の メディア バイト 



5051 は ハー ド ディスク だけでなく, 光磁気 ディ スク など, さまざまな 種類の デバイスが 接続 
できる 可能性が あり ます。 これに 対応し, 現在, 5051 装置の メディア バイ ト と して, 次の 4 種 
類 力 5 ' 予約され ています。 



5?7 



1?6 光磁気 ディスク 
, ??5 00-1^01^ 
~ 3?4 八丁 



00-1^01^ と 八丁 は 難 ぐ92 年 2 月? !^), まだ 正式な サ ポー ト は 表明され ていません が, 
将来 を 見越して 番号 は 予約され ています。 







5 5051 デバイス パラメータ 



5 じ 31 装置の 5^11 セクタに は, その デバイスが イジ ェク ト 可能で あるか 否かな どの 情報 を 集 
めた デバイス パラメータと 呼ばれる 16 バイ 卜の データ カ嗜: き 込まれます。 この 内容 は 図 9 の 
ようになって います。 



図 …… 9 5051 デバイス パラメータの 内容 



先頭からの 

才 フセッ ト 


内 容 


備 考 


5 00 
3 01 
5 02 
^03 
504 
5 05 
^06 
5 07 


558 
336 
538 
853 
543 
553 
^49 
331 


文字列 ^6850511 # 


ゆ ゆ 


8 し^] (上位) 
8 しひ (下位) 


1 セクタの バイ 卜 数 


く 03 じ 


^ ぬぬ ぬ 


8 し 0じ ド 

[^じ !!^ 上ィ: ^!) 

II 
〃 

//(下位) 


使用可能な 論理 プロ ック数 


赃 


請 


本00 以外 : 冗51 拡張 リード/ライト コマンド 使用 可 
500 : 〃 づ河 


30^ 


口 


300 以外: 曰& じ 丁 (メディア 交換) 可 
300 : II 不可 



468 



5051 







6 5051 八— ド ディスクの 管理情報 



ハード ディ スクに は, 先頭から デバイス パラメータ や パーティション 情報な どか 害き 

込まれます。 この 内容 は 図 10 のように なって います。 111111130 68 X では, ディスク 管理の 単 
位が IX バイ 卜に 固定で あるた め, 表の セクタ 値 も IX バイト 単位と なって います。 5 じ 51 ド 
ライ ノリ ま, ディスクの 1 ブロックが 256 バイ トゃ 512 バイ 卜の 場合に は 4 つない し 2 つ を まと 
めて 1^ バイ ト 単位で 扱います。 



^ 図 …… 10 5051 ディスクの 管理情報 



セクタ 番号 ネ 


内 容 


200 


5051 デバイス パラメ一 タ 


301 


第 1 旧し 


502 


パーティション 管理情報 


503〜31 ド 


3031 ディスク ドライバ 予約 領域 


520 


第 21? し 


321 


第 1 ほ 丁 (大きさ は 容量に よって 変わる) 


? 


第 2 ^ 丁 〔 II 〉 


? 


ルー ト ディレクトリ 


? 


デ一 タエ リア 



氺 : 05 管理 上の セクタ セクタ: 



ト) を 単位と する 



07 3051 コントローラと 01\;1 八 



5?0 との データ ゃコ マン ドの 転送に は!)] V [八カ 《使用で きる ようになって いますが, 5051 
ドライバ では, この 01\^ [八 転送に 01^ 八 (: の チャンネル #1 を 使用して います。 この チャン ネ 
ルは, 《^ ^重の 5 八 51 用!)] V [八 チャンネルと 共用に なって いますので, 5 八 51 と 5031 の両 
方 を 使用す る よ う な 場合に は 0^1 八 の 設定に 注意が 必要です。 

5 八 51 インタフェース では, 5 八 51 の!? 2(3 信号が!)] V [八 (: の 0112(3 (I)]V [八 転送 要求) に 
接続され ており, は 01^0 信号 を 受け付け ると, (:? リ から バスの 使用権 を 譲り受け, 
おもむろに 転送 を 開始 するとい う, ごく 普通の 方法で 行って います。 ところ 力、 5 じ 51 イン タフ 
エース は 少し 変わった 方法 を 使用して います。 

5?じ は, [八 転送 要求 信号 を 持って いるので す 力 5 ', X 68000 では, これ を!)] ^及じ に は 接 
続して おらず, :)!^^;: は 通常の メモリ一 メモリ 間 転送に プログラム します。 このまま では, 

八 と 3?じ の 転送 要求の 同期が とれません ので, 01^^ はまる で 意味の ない データ を 引き 
取って しまう ことになります。 そこで, X 68000 の 5031 インタフェース では, 51^ の!)] 



469 



転送 要求 信号 を 丁 八 (:^ の3 ね 丁!" 3113 お!" 八 吐110 讽 おが) 信号の 作成に 使用す る ことで, 

I)IV [八 転送 要求が 発生す るまで 腸 八 を 待たせて しまう 方法 を とっています。 

下 八 (: 〖信号と いうの は, じ? リ や I)1V [八 力 マ クセス にきた ときに, アクセス された 側が デ 
一 タ I 云 送の 完了 を 示す 信号で, 通常 は 周辺 テン く イスが アクセス 速度に ついてい けない ときに 
じ? ひや 0]V [^を 待たせる ために 使用され る 信号です。 5じ51 インタフェース では, 5?じ の 
01^ 八 要求 信号 を, この!) 丁 八 (:に 信号の 作成に 使用し, 01^ 八 転送 要求が く る 前に アクセス さ 
れる と, 八 転送 要求が 発生す るまで 動作 を 停止 させて しまう ように している のです。 ただ, 
このように すると, プログラムの ミスな どで 01V [八 車 云 送 要求が 発生し ないように なると, その 
まま ハングアップして しまい ますので, 約 8〃3 たっても 3?じ からの 0]V [八 転送 要求が 発生 
しないと, バス エラー を 発生 させて 強制的に 回復させる ようにし ています (!)^^: は バス エラ 
一力つ I される と! I; 云 送 をィ亭 止します)。 

イメージ として は, 。^^(: 力 マ クセス にくる とそれ をつ かまえて おき, 5じ51 バスから デ 
ータ がくる とそれ を 引き取らせて 手 を 離す 感じです。 ただ, つかまえた ままに してお くと, だ 
れも 動け なくなって しまう ので, 一定期間 はバり たっても データが こない ようなら, エラー 
と して 転送 を 中断させる わけです。 

90 590(3051 プロトコル 

11 コントローラ) 



5^.51 は 専用 し 51 と 呼べる ものがない ため, ィ ンタ フェース はたんなる 1/0 ポー ト にす ぎ 
ませんで した 力く 5051 は ^1^51 での 規格化が はかられ たこ とも あり, いく つもの 専用 し 51 が 
つく られ ています。 X 68000 で は, 5〔31 コントローラし 51 と して, 富士通の] 
89352(5?。: 5 じ 51 プロトコル コントローラ) 力、' 使用され ています。 このし 51 は, 5051 バス 
制御に 必要な 機能の 多く を ハー ドウ ヱァ 化して おり, ソフ トウ エアに よる バス 動作 管理の 手間 
がかな り 軽減され るよう になって います。 



^ 1 さドじ の レジスタ 一覧 



5?じ の レジスタの ァ ドレス 配お を 471 ページの 図 11 に 示します。 
これらの レジスタの おおまか な 機能 は 次の ようになって います。 



470 



5051 



秦図 …… 11 5051 コントローラ レジスタ 一覧 



ァ ドレス 


^^:^/ 
\^ ^丁 巳 


6117 


6 


5 


4 


3 


2 


1 


1)110 


レジスタ 名称 


十3 1 




1 

#7 


1 
#6 


1 
#5 


1 

#4 


1 

#3 


1 

#2 


I 

#1 


1 
#0 


















10 




十3 3 




1 お 56【 & 
01531)16 


じ0 は 「。1 
お 561 


編 6 




? 3 「(り 


561601 


ぉ56|6 な 
む 3^6 


1は6 「「リ が 
013 匕 16 


51: 丁し 

001111-00 


士2 5 


^/^ 




30 づ 00(^6 




85 丁 
じ 丁 


||1 お 『06 が 
丁 「3 [! 5 ザ 6「 


丁 「30 


; 于6「 リ0 づ 


ほ 6 


00 關 3 お) 


十3 9 




56160(6(1 


^656160(6(1 


015 - 


00—6 お 


561^106 
お "! 「6 づ 


丁 10160 リ 1 


5?0 43 お 
三 「「0「 


お 561 


1^1 丁 3 

0(1 お IX 叩 1: おはめ 






1 ^6561 1(1 


お 「「リロ セ: 1: 


シソ 卜 配 


置 は 尺63〔 


時と 同し 


;) 




十3 8 




卿 


ム^ 


;\ 丁!^ 


3 已し 






0/0 


1/0 


? 5^ 5 

(ゆ 356 ぉ!"^) 




网 


職 


X お 「 

ビ 03リ6 




0138 

ぉ丫 


0136 


0/0 


0138 
1/0 


5060 

0132 じ0 ま 。0 


十3 




00 门门 6 
1 肌 


― 1 ^ 


5?0 


丁 ほ 11 お 111 
^0^635 


5031 


丁 = 


0^0 5 


3! リ 5 
三 [!! 卩 【乂 


55 丁 5 
0^0 3 ね 1 リ 。 


十3 ド 




03 ね 6「「 

5051 


厂 


版 
は 




?3「1 & 
&" 「0「 


ザ 


5 ま 

丁 「3ぽ6「 
? 61-10(1 


す 


3 已昍 

0^0 &- 「0「 513*115 5 






8113 !!' 66 
^丁 










丁 「 

1^136 


3 115 お 「 ド 

0/0 


1356 

1/0 


^丁し 
(れ 356 00^00 


+ 513 










1 I 
IV! 80 


( 1^0(11116^ 8^6 じ0 リは 6「〉 


+ 315 




08 


ね 


隱 6 
ぐ 03 ね おお 5 お 


十 尜 17 




丁 6阳^「3 「乂 03 セ 3 


丁 已リ卩 
(丁 6 [! 1が「3 「乂 只 6 ざ 5ぉ 「ゾ 




丁 6171り0「317 03ね 


+ 319 




丁 「305 干 6「 〇01^セ6「 (上位) 


丁昍 

(丁 「3 [! 5|6「 00110ぉ『 91 ゆ) 


+ 516 


ド/^ 


丁 「3 门 5 す 6「 00 リ门 セ6「、中 位 リ 


丁】 

(丁 「305 お!" 。。ま 「 刚) 


+ 


& /ゆ 


1「305ぉ「 じ0 リ 11 お 「レ ド 位) 


丁 (: し 

(!^ぉ お 「 。 。リば 6「 し。") 



ベ一 スァ ドレス: 5051 インタ フエ— スポ— ド (は- 6850 ^ …-. 56^0000 
5051 内蔵 モデル …... 5596020 



~ 8010 レジスタ 

自分の 10 番号の 設定 /1 売み 出 し を 行います 
, 5じ 丁し レジスタ 

5?0 の 動作 モー ドゃ付 胃 能 を 使う か 否かの 選択 を 行います 
~ 501\40 レジスタ 

5?0 に対する 動作 コマ ン ド の^^や データ 転送 モー ドの 選択 を 行います 



471 



~ 11\ [丁 3 レジスタ 

5?0 の 割 り 込み 要因の 判別 や 割 り 込み 要因の リセット を 行います 
, ? 51^5 レジスタ 

5051 ノ ^の 制 #隨 号の 状態 カ^み 出されます 
~ 5000 レジスタ 

5?0 の 自 己 診断 用です。 通常 は 使用 しません 
~ 55 丁 5 レジスタ 

5?0 と 3じ31 バスの 間の 接続 状態 や 5?じ 内部の バッファの 状態な ど 力 5 1 壳み 出されます 
- 52^1^ レジスタ 

ノ、' リ ティ エラー や 51 ^の ハー ド 的な 異常が 発生した ときの エラー ステータスです 
^ ? レジスタ 

0?1; が 5? じ に対して, 次に どの フェーズで 動作す るつ も り であるの か を 明示す るのに 使用 
します 
^ ^8じ レジスタ 

ミ?じ 内部の バッファと じ? II との データ 転送 数 を 制御す る カウンタです。 初期値 は 丁 じし レ 
ジス 夕の 下位 4 ビッ 卜が セッ ト されます 
~ 01^20 レジスタ 

I)]V [八に よる 転送 を 行う とき は, この レジスタ を 通じて データ 転送 を 行います。 この レジス 
タは 8 バイ トの? 1?0 (! ^!" 31 10 ? 11-51 0110 バッファ となって います 
^ 丁 21^? レジスタ 

3?0 は, 転送 ィ お 業の ほとんど を し 51 で 自動的に 行う ハー ド 転送 モー ドの ほか, 5^51 インタ 
フェース のように, 5 じ 51 の 信号 をチ ニックしながら 信号の 制御 を 行う マニュアル 転送 モー 
ドを 持って います。 この マニュアル 転送のと きに 3 じ 51 との データ 転送に 使用す るの が 
121\1? レジ タ です 

721^? レジスタ はこの ほか, アービトレーション/セレクションの ときに 出力す る 10 設定 

用の レジスタ と しても 使用され ます 
^ 丁 (:只/丁じ!^ /丁 (: 乙 (転送 バイ ト カウンタ) レジスタ 
3 バイト 〈24 ビッ ト) の 転送 バイ ト数 カウンタです。 ハード 転送のと きに 5 じ 51 上で 1 バイ 
ト の 車 云 送 カズ 行われる ご と にデク リメ ント され 転送すべき 残 り バイ ト 数 を^す る ほか, セ 
レ クシ ヨン フェーズのと きの タイム ァゥ ト 時間 設定 用の レジスタ としても 使用され ます 

次に, それぞれの レジスタの 中身 をもう 少し 詳しく 見て いく ことにし ましよ う。 



472 



5051 



@2 8010 レジスタ 



ビッ ト 配置 は 図 12 のように なって います。 書き込み 時 は, レジスタの 下位 3 ビッ トで 0〜7 
までの 10 番号 を 設定 します。 読み出 し 時 は, 設定した 10 値に 対応す る ビ ッ ト だけが' 1 'になつ 
た データ か 読み出されます。 たとえば, 10 として 507 を 書き込む と, ビッ ト 7 だけが' 1 'になつ 
た データ, すなわち, 380 力ぐ 読み出されます。 

この レジスタから^^ み 出される データ は, アービトレーション フェーズで バス 上に 出力され 
る ものと 同じです。 

肇図 …… 12 日 010 レジスタ (ベース アドレス 十 ま !!り 



圆:) 時 



10 


10 


10 


10 


10 


10 


10 


10 


#7 


#6 


#5 


#4 


#3 


#2 


#1 


#0 



自分の 10 は 0(1 'のとき 

II 1 I! 

!1 2 II 

I! 3 II 

II 4 II 

II 5 II 

II 6 〃 



\^ ^丁 巳 時 




自分の 10 番号 



111 
110 
101 
100 
011 
010 
001 
000 



自分の 10 は— 



03 50 丁し レジスタ 



ビ ッ ト酉己 置 は 474 ぺー ジの図 13 のように なって いま 丁。 



473 



》 図 …… 13 50 丁し レジスタ (ベース アドレス 十ぁ!!ョ) 



^6561: & 


000^01 


0138 


八 「匕11 「お 1011 


? 3 「は乂 


561601 


^6561601: 


|0ぉ 「「叩 1 


0153 匕 16 


只 6561: 


^0(^6 


已门 3 匕 16 


^^13516 


む 3616 


圧 031316 


巳 口 3(3(6 



3^ 割り込み 制御 
1: 割り込み 発生 許可 
0: I! 禁止 



リ セレクションへの 応答 制御 
1 : リ セレクション フ I ーズに 応答す る 
0: II しない 



セレクションへの 応答 制御 

1 : セレクション フェーズに 応答す る 
0: 〃 しない 



5051 バスの デ一 タラ インの パリティ チ: 
1: パリティチェック をす る 
0: しない 



'ク 



ァービ ト レ一シ ョ ンフ 1— ズの 実行 可否 制御 

1 : セレクション/ リ セレクション フェーズの 前に ァ一 ビトレ一 シ ヨン を 行う 
: ァ一ビ 卜 レー シ ヨン フェーズ は 行わない 

1 : 3^ を 自己 診断 モードに する 
0: 通常 動作 



3ド0 のデー タ 転送 制御 回路への リセット 
1 : 制御 回路 を リセ ッ 卜する 
0: 通常 動作 



5^: 内 レジスタ およ び 制御 回路の リセット 
1 : リセット する 
0: 通常 動作 



各ビッ トの 意味 は 次のように なって います。 

匕 は 7 : 1^6561 & 0153 ヒ 16 

5?。^; の リセ ッ ト 信号に 相当し ます。 ,1 'を 書き込む と リセ ッ 卜されます。 ハー ドゥエ ァリ 

セット 時 (電源 01^ [直後 や 本体の!^; 52 丁 スイッチが 神され たと き) にも, この ビット は' 1, 
に 設定され ます。 5?0 は, 303 レぺ' スと 完全に 切り離された 状態に なり, 外部からの セレ クシ 
ヨンな どに は 応答し なくなります。 リセ ッ ト後, 3?。 を 使用し はじめる 前に, この ビッ トを, 0, 
にしなくて はなり ません。 

511: 6 : 〇0 !" 1セ「01 只 6561: 

5?13 内部の データ 転送 制御 回路 だけ を リセ ッ ト します。 1 'を 書き込む と, で 'に 戻す まで リセ 



474 



5051 



ッ 卜した ままと なります。 この ビッ トを' 1 'にしても, 5051 との 結合 関係に は 変ィ匕 はあり ませ 

ん。 

侦 5 : 0138 1^0(^6 

ョ?じ を 自己 診 81? モードに する ための もので', この ビッ トを' 1 'にす ると, 自己 診^ 1 モードに な 
り ます。 この モー ド では, 5? じ は 3 じ 31 と 完全に 切 リ 離さ^ カリつ り に 巳!)。。 レジスタへの 
?没定 値が 5 じ 51 バス の 状態で あ るかの よう に 8 力作 します。 

611 4 : 八 「15!1:「31:1011 & 13ヒ|6 

セレ クシ ョ ン ダリ セレ クシ ョ ン フェーズの 前に ァービ ト レー ショ ン フェーズ を 実行す るか 否 

か を 選択し ます。 1 'の ときには アービトレーション フ ヱーズ 力 5 '実行さ^ ,0 'の ときには 3 八 51 
と同樣 アービトレーション フェーズ を 省略して セレクション フェーズ を 実行し ます。 
511 3 : ?3「11: 乂 巳 03ヒ16 

3031 バスの データ ライ ンの パリティ チェ ックを 行う か 否か を 選択し ます。 この 設定 は, 5?0 
が データ を 受け取る ときに チヱ ック を 行う か 否か を 設定す る ものです。 5? じ が データ を 出力 
するとき の バリ ティの 生成 は, この ビッ 卜の 設定に 関係な く, 無条件に 実施され ます。 乂 68000 
では, この ビット を' 'にして おきます。 

ヒ|1 2 : 5616 は & 13&16 

セレクション フ ヱーズ に対して ター ゲッ ト として 応答す るか 否か を 選択し ます。 ,1 'にす る 
と セレクション フェーズに 応答し, ,0 'のとき は 無 4 兄し ます。 この ビット は, ^分が ターゲット 
と して 励 作す るか 否か を 選択す る ものであると 考えて よいでしょう。 乂 68000 は 通常 ィ ユシェ 
ータ としてし か 動作し ません ので, この ビッ トは' 'に 設定し ます。 

咖 I : ^65@|601 巳门 3 ヒ 16 

リ セレクション フェーズに 応答す るか 否か を 選択し ます。 ': I 'に 設定す ると, リ セレクション 
フェーズ に対して イニシエータ として 比; 答し, ,0 'のとき は 無 見し ます。 5 じ 51 の フェーズ 遷移 
のと ころで 説明した ディスコ ネク ト /リコ ネク ト 機能 を 使用す る 場合に は, この ビッ トを' 1 'に 
設定し ます。 X 68000 の 5。51 イン タフ ヱース のよう な, イニシエータが 1 つし かないよ うな 
システム では, ディ ス コネ ク ト /リコ ネク ト 機能 を 使っても, バス 使用 効率の 向上に は 貢献し な 
いため か, X 68000 を 立ち上げた 後で, この ビット を 見る と, で 'になって います。 

匕 II: : 1016 「「リ^: 巴 03^16 

5?0 からの 割 り 込みの 許可/禁止の 制御 を 行う ビッ ト です。 丁の と き に 割 り 込み 発生 か, 午 可 
に, で 'の ときには 禁止になります。 この ビット を' 'にしても, 5じ51 上の 尺 6 お); コン ディ ショ 
ン (尺 5 丁 信号が' 1 'になる) 力 ^ 検出され た 場合に は 割り込みが 発生し ます。 

また, この ビットが' 'であっても, 害 1| り 込み 要因 は IX 丁 5 レジスタに 反映され ます。 



475 



か 4 



301^0 レジスタ 



ビッ ト 配置 は 図 14 のように なって います。 



I 図 …一 14 501^10 レジスタ (ベース アドレス 十?!^) 



00^1^13 门づ 00 づ 6 



ほ 


1 门 16厂1:6131 


は 


丁 「303 お 「 



丁 「3 门 5 ザ 6「 V。 づけ 1「6 



31^ への 動作 指示 



111 
110 
101 
100 
011 
010 
001 
000 



361 八 ぼ /卿 

66561 織/卿 
丁 「3113 ザ 6「 1 3 3^56 
丁 「305 お!" 
561 八!^ 
8656 で 八丁!^ 

已リ 5 5616356 



丁 6「卬1 [! 3ゼ0 门 リ0。6 
イニシエータ 時 

1: バイト カウント 二 
でも 6 ゆ 二 応答 
する 

0: バイト カウント 二 
で 転送 停止 

タ 一ゲッ 卜 時 
1: パリティ エラ一 
発生 時 転送 を 
停止す る 
0: バイト カウント :0 
にな: るまで 転送 を 

171; ィ! "^る 



つねに で' にす る 



「「ひ吕广ョ卬 丁 「305 ザ 6「 

1:0 ドリで 転送 を 行う ([^^は 出ない) 
0: 0^ 〃 〔 〃 出力され る) 



マニュアル 転送 時の データ バッファ 保持 
1 ゾ、' ッファ 内容 は 保存され る 
0: II されない 



3031 パスの ^57 (リセット) 信号 制御 
1:85 丁 を 'ド (し 0が レベル) にす る 
0: II で' (!" I; ゆ 〃 〗 〃 (通常 動作) 



そ れぞれ の ビ ッ ト の 意味 は 次の ようになって います。 
13 は 7, 6, 5 : 00111171311(1 00 づ 6 

5?。 への 動作 実行す!^ を 行います。 それぞれの コ マン ドの 動作に ついては 後で 説明し ます。 
匕 は 4 : ^57 0^ 

,: [,を 書き込む と 3(331 バスの 尺 3 丁 信号 を, 1, にし, 3031 バス を リセ ッ ト します。 レ 
ジス タ が' 1 'の とき は, この ビット の 操作 は 無効です。 



476 



5051 



ヒは 3 : I 门 1:6 「じ 6(31: 丁 「ョ!^!^广 

この ビッ トを' 1 'にしてから マニュアル 転送 に? 11 で^ 2(3 ズ八 (:!^ 信号な ど を 制御す る モー 
ド) を 行う とき は, 5?じ 内部に ある 8 バイトの? 1?0 バッファの 内容 は 1 呆存 されます。 

514 2 : [^「ひ ぎ 「3闪 丁 「3 门 5于6「 

1 'にす る と 01120 (0]V [八 転送 要求) 信号 を 出力 しない モー ド にな り ます。 マニュアル 転送 
の ときには, この ビット を' 1 'にした ほうがよ いでしょう。 前に も 述べた とおり, 乂 68000 では 
尺 2(3 信号 を 丁 八 (:尺 信号の 作成に 使用して います。 この ビッ トを' 1 'にす ると 0尺20 への 
アクセスが でき なくなって しまう (すべて バス エラーになる) ので, ハード 転送 を 行う ときに 
は, この ビッ トは 必ず' 'にして 01^2(3 信号 を 発生させる ようにして ください。 
ぬ I : (菊 吏 用) 

使用され ていません。 つねに' 'を 設定す る ようにし てく ださい。 

匕 は : 丁 6「171|031:|011 1^0(^6 

イニシエータ と して 加 乍して いる ときと, ター ゲッ ト と して 動作して いる と き とで 意味 か 変 
わり ます。 

イニシエータ として 動作して いると き, この ビット 力 5 '' 'になって いると, 転送 バイト カウン 
タの 値が になった 時点で' 転送 謝ぉ は 停止し ます。 ,1 'の 設定 は, データ イン/データ ァゥ トフ ヱ 
ーズ のとき だけ 有効です。 このと き, 転送 バイト カウンタが になっても, 同一 フェーズ のま 

ま ター ゲッ 卜から 1^2(3 信号が くれば 応答し ます。 データの 方向が ター ゲッ ト から ィニシ エー 
タ 側の 場合 は 取 り 込んだ デー タ は 破棄さ^ イニシエータから タ ーゲッ ト の 場合 は 300 が 送 ら 

れ ます。 この 転送-動作 を 転送と 呼びます。 

転送 力 ゥンタ を にした まま 転送 動作に 入る と , 最初の 転送 か ら ? 転送に なります。 
このと き, 丁!^ 113 お!" コ マン ドの 発行の 前に 丁 レジスタに 300 を 書き込む ようにし てく 

ださい。 

ター ゲッ ト として ま] 作して いると きに, この ビッ ト 力ぐ 1 'になって いると, 車 云 送 中に ハ。リ ティ 
エラー を 検出した 場合, ただちに 転送 を 終了し ますが, ,0 'になって いると, ノ 、。リ ティ エラー を 
検出 しても 転送 力 ゥン タカ 《 に な る ま で 転送 を 続行 します。 



05 丁 5 レジスタ 



ビッ ト 配置 は 478 ページの 図 15 のように なって います。 

割 り 込み 要因 となる 条件が 成立す ると, 割 り 込み 発生の 許可/禁止 はじ 丁し レジスタの ビット 
0〉 に 関係な く, IV 丁 5 レジスタの 該当 ビット は' 1 'に セット されます。 (:?リ 力、 この レジスタ 
に 書き込み 動作 を 行う と, ': ['を 書き込んだ ビッ ト だけが' 'にク リアされ ます。 それぞれの 割り 



477 



図 …… 15 1!\! 丁 5 レジスタ (ベース アドレス 十ぁ!!ョ) 



6;17 6 5 4 3 2 1 6110 



^17 & 



5616016^ 


^6561601601 


01500 门门 6(^6(1 


じ 001 1713 门づ 
00171 13|6^6 


の 01 


丁 11716 001 


5^0 !" 13 「づ 

已 「「0「 


86561 
〇0 门 づけ 1011 



1: 5051 バスが^ 6561 

された 
0: 通常 動作 

1: 5 [?^ レジスタに 示される 
エラ一 のう ち, 
, 70 ? 3^ 已 「「。「 

1 3卜0「1: 丁 「3 门 5 お 「 ?6「10づ 
が 検出され た 

0: 通常 動作 

1 : セレクション, ま たは リ セレクション 実 ^ !亍後 
—定期 間た つても 相手 か ら の 応答が 

ない 
0: 通常 動作 

1: イニシエータ として 動作 中に 

バス 上の フェーズと ? 丁し レジスタで 指定され る 

フェーズが一 致しない ため, 丁 「305 伯 「コマンド を 
実行で きない (できな く なった) 

0: 通常 動作 

1: 3616 はコ マン ドゃ丁 「^咁6 「コ マン ドの 実行が 完了 した 

0: 通常 動作 

1: 5051 上で バス フ リーフ 1— ズが 検出され た 丁し レジスタの 匕1 口 二 丁のと き) 
0: 通常 動作 

1: 3031 上の 他の デバイスから リ セレクション フェーズ によって 選択され た 
0: 通常 動作. 

1: 5051 上の 他の デバイスから セレクション フェーズ によって 選択され た 
0: 通常 動作 



込み 要因 は 次のように なって います。 



1311 7 : 561601:60| 

セレクション フェーズ によって, 3?じ カズ 他の イニシエータと 接続され たこと を 示します。 こ 

の 割 り 込みが 発生 して 以降, 8115 1^616236 コマンド が 発行 さ れた り , 3051 ノ く、 ス が リ セット さ 

れ るまで, 5?。 は ター ゲッ ト と して 動作した ままと なり ます。 

ヒは 6 : !^656|601:6^ 

リ セレクション フヱ一 ズ によって, 3?じ が コントローラ と兩 5 続 さ れた こと を 示-します。 こ 

が リ、 降, お (^ひ!^ は 割り込みが^ 牛: する 力、, 3 じ 31 バスが リセ ッ 卜される まで', 5?じ はィニ 



478 



5051 

シェーク と して 動作し つづけます。 
514 5 : 015001111601: 

バス フリー 割り込み 許可 (?じ丁乙 レジスタの ビッ ト 7 力 5 '' 1っ のとき, バス フリー フヱ ーズが 
検出され ると' 1 'になり ます。 この ビッ 卜が' 1 'になって いると, 5?じ は 3 じ 51 上での 動作 を 行い 
ません ので, 5 じ 51 バス を 使用す る 前に 必ず リセット してお かな く て はな り ません。 

ヒは 4 : 0001111311^ 0001^)161:6 

561601 コ マン ドゃ 丁!" 3113 お!" コ マン ドの 処理 か 終了 した こ と を 示します。 5?じ 力; ター ゲッ 
ト として 動作して いると きに, ノ 、。リ ティ エラーに よって 転送が 停止した 場合に も, この ビット 
が' 1 'になり ます。 
1311: 3 : 36「V|^6 86リ1||「6づ 

イニシエータ として 謝, 中に, ? (: 丁し レジスタの 下位 3 ビッ トで 行って いる フェーズと バス 

上の フェーズ 力 《一致し ないた めに 転送 力 3 ' 実行で きなかった り, 审 云 送 中に フヱ ーズカ 《 一致し な く 
なり (ター ゲッ トがフ ヱ ーズを 切り替えて しまった とき), 転送が 中断され てし まった こと を 示 

します。 このよ うなと き, じ? じ は 状況 を 判断して 適宜 回復 措!! を と らな く て はな り ません。 若 
干 注意力 5 '必要な の は, 転送 中に フェーズ 力ぶ 一致し なくなって しまった 場合で, このと き, 3 じ 51 
バス 上の 転送 動作 は ただちに 中断し ますが, 5?0 内部 バッファの データ は 残った ままに なって 
いる 可能性が あ り ます。 データ 入力 時には 5? じ 内部 バッファの データが すべて 引き取られる 
まで, また, 出力 時には 内部 データ バッファへの データ 先取り シーケンス カ絲冬 了す るまで, 5?0 
の 転送 動作 は 終結し ません ので 注意力 5 ' 必要です。 この ビッ トが' 1 'になって しまった 場合 は, 
55X5 レジスタ を 見て 5? じ の 転送 動 (饿 態 を; (! 窗認 する ようにして ください。 

2 : 71(716 0114 

561601; コマンド による セレクション/ リ セレクション フエ ーズが 行われた に も かかわ ら ず, 

一定期間 たっても 相手 力 5 ' 応答し なかった こと を 示します。 これ を セレクション タイム ァゥ ト と 
呼ぶ こと も あり ます。 

セレクション タ. ィ ムァゥ トが 発生した 場合, ミ?じ は 52 し 信号 を' 1 'にした ままに してし まい 
ます。 この 状態 は, 丁 21\1? レジスタに 500 を 書き込む ことで 復旧で きます。 セレクション タイ 
ム アウトが 発生した 後, バス を 解放す るの はこの 方法で 行って ください。 
511 I : 5?0 1-131-01 曰 「「0 「割り込み 

5?じ 力 《丁じ ? 31-1^ 2 び 01- や 5ヒ01寸 丁 1—3113 お ? ぼ; 0(3 エラー (いずれも 521?!^ レジスタ 
に^: されます) を 検出 した こ と を 示します。 この 割 り 込みが 発生して も, 5? じ は 奥行 中の 動 
作 を 停止す る こと はあり ません。 
ヒは : ^6561 1:0 门づは 1011 害 !] り 込み 

5051 バス 上に リセットが かかった (尺 5 丁 信号 力 5 " 1 'になった) こと を 示します。 尺 3 丁 信号 
の 継続 時間 は 規定が あり ません ので, この 割り込みの リセ ッ トは 115 丁 信号 力ぐ 'に 戻った 



479 



ほ5 丁 5 レジスタの ビッ ト 3 が' 'になる) の を 確認して から 行う 必要が あり ます。 5 じ 51 バスの 
リセ ッ ト がか かると, 実行中の バス 動作 はすべ て 打ち切ら^ バス フリー フェーズになります。 
5?0 の 内部 状態 も リセ ッ ト されます 力、 8010, 3じ 丁し, 501^0 1 ?じ 丁レ ! き 云 送 バイ ト カウン 
卜の 各 レジスタの 内容 は 変化し ません。 







6 卩 51\13 レジスタ 



5 じ 31 バスの 状態 カ^! 売み 出されます。 ビッ ト 配置 は 図 16 のように なって います。 この レジス 
タは 5?じ の 動 微 態に 関係な く 読み出す こ とがで き ます。 読み出される データ と 5じ51 バス 
上の 状態の 関係 は, 5 八 51 イン タフ ヱース ポート 同様,' 1 'のとき に 3 じ 31 ノ 、ス 上 は し 0休 レベル 
となって います。 



図 …… 16 口 5闪5 レジスタ (ベース アドレス 十本!!日) 



61(7 6 5 4 3 2 1 1)110 



网 


腿 


環 


3 ビし 


85^ 


1^150 


0/0 


1/0 



1: 1/0 信号 は' V 
(し。 〜 レベル) 

0: 1/0 信号 はで' 
(!" II ゆ レベル) 

1 信号 は' 1, (し 。〜レベル) 
0: II ,0, (! "!! ゆ レベル) 

1 : 1^3(5 信号 は' 1, (し 〜レベル) 
0: II ,0, (ぱ ^レベル) 

1 : 83 丫 信号 は' 1, (し 。〜レベル) 
0: II で '(^^レベル) 

1 : 3 已し 信号 は' ド (し "レベル) 
0: II で' (闩; ゆ レベル) 

1 : 八丁〜 信号 は' 1, (し 0\7 レベル) 

0: II ,0 '(^ゆ レベル) 

1 :み0 ド 信号 は ,1, (し 〜レベル) 
0: 〃 ,0 '(["^トレ ベル) 

1 :疋 信号 は ,1, (し 0〜 レベル) 
0: I! ,0 '(印^ レベル) 



---130 



5051 



か 7 50(30 レジスタ 



ビッ ト 配置 は 図 17 のよ う になって います。 ビッ ト 5 は, 丰云送 を 実施す る ときに デ一タ 転送 要 
求 の 3 ね 尺 6 叩ぉ り 割り込み を 発生す るか 否か を 選択す るビッ 卜で, ,1 'のとき に 割り込み 発生 
を 許可し ます。 

ビッ ト 5 以外 は 5?じ の 自己 胃のと きに 使用され ます。 3?じ を 自己 胃 モードに したと き 
はじ丁乙 レジスタの ビッ ト 5 を' 1 'に したと き), 5?じ の バス ィ ン タフ ヱース 信号 は 
5じ51 バスと 切り離され 5000 レジスタに セッ ト した 値が 5 じ 51 バス 上の 状態で あるかの よ 
う に 動作 します。 これによ つて 5? じ の 動作 チ エック をす る ことができる わ けです。 自 己 診断 モ 
一 ド での アービトレーション はつねに 成功し ます。 



17 ミロ^じ レジスタ (ベース アドレス 十乐!!日) 



& 1*0 



謂 丁 5 





0136 


ス!6「 




0(38 


0138 


0138 


0136 


卿 


職 


已 113 匕 16 




85丫 


^50 


0/0 


1/0 



診断 モード 時に, 5051 バスの 状態 を 設定す る 



1 : プログラム 転送 時, 03 ね 86 叩 65セ のか わりに 割り込み を 発生す る 
0: 〃 しない 



8 35 丁 3 レジスタ 



ビ ッ ト 配置 は 482 ぺー ジの図 18 のように なって います。 

この レジスタ は ㊀?じ の 動作に 関係な く, いつでも 読み出す ことができます。 各ビッ 卜の 意味 
は^: のように なって います。 



匕は 7, 6 : 。011门601:6づ 

5(351 バスとの 結合 状態 を 示します。 イニシエータ として 結合して いると ビッ ト 7 力、 ター ゲ 
ットと して 結合して いると ビッ ト 6 力ぐ 1 'になり ます。 
匕は 5 : 51 3 8じ5 乂 

5?0 がコ マン ドの 実行中ない し 実行 侍ち 状態で あ る こと を 示します。 

13 は 4 : 丁 「305 お 「 I 门 卩 「0〇「655 



481 



参 図 …… 18 55 丁 5 レジスタ (ベース レジスタ 十乐!!!^) 



6117 6 5 4 3 2 1 ^0 



隱 



〇0 门门 づ 


5^0 


!" 「3 门 3 ず 6「 


5051 


丁 0=0 


0^0 


5 ね 也 5 


關 丁 ! 丁/^ 6 


8115^ 


;门 り「0び655 




「山 1 


巳 111 卩 IV 



内部 データ バッファ レジスタの 状態 

11: (未使用) 

10: 8 バイトの データが ある 

01 : バッファ は 空 

00: 1〜7 バイトの データが ある 

1 : 転送 バイト カウンタの 内容が ゼロ 

0: II でない 

5(331 バス 上の 65 丁 信号の 状態 を 示す 
1 : 85 丁 信号 は' V (し 的 レベル) 
0: II ,0, (!" レベル) 

1 : ハード 転送 実行中 で 転送 フェーズが 要求され ている 
0: 通常 動作 

1 : コマンド 実行中/実行 待ち 状態 

0: II ではない 

5?0 と 5051 の 結合 状態 
11 : (未定義) 

10: イニシエータ として 結合 中 
01 : 夕一 ゲッ ト として 結合 中 
00: 非 結合 中 



61*7 


1)116 


1)1(5 


お 4 


動作 状態 














5051 と 非 結合 中。 5^0 は 実行 コマンド を 保持して い な し 、 








1 





5051 と 非 結合 中。 5616 は コマンド 保持 中 (バス フリー 待ち/アービトレーション 中) 













ターゲット として 動作 中 は051 上で 実行中の 動作な し/マニュアル 転送 中) 







1 





3051 上で リ セレクション フェーズ 実行中 





1 


1 


1 


夕一 ゲッ ト と して 動作 中 (ハ一 ド 転送 実行中) 


1 











イニシエータ として 動作 中 1;5051 上で 実行中の 動作な し/マニュアル 転送 中) 


1 








1 


イニシエータと して 動作 中 (ぼ 信号 はきて いるが, 転送 は 実行され ていない) 


1 





1 





3(351 上で リ セレクション フェーズ を 実行中 


1 





1 


1 


イニシエータ として 動作 中 (ハー ド 転送 実行中) 



5051 



ハー ド 転送が 実行中で あるか, または 5051 上で 転送 フェーズ 力 ^ 要求され ている こと を 示し 
ます。 

ヒは 3 : 5051 66561: I。 

の リセット 信号 (尺 3 丁) の 状態 を 示します。 
ヒ は 2 : 70=0 

転送 バイト カウンタ (丁 (:比 丁 0\1, IX: し レジスタ) の 値が になった こと を 示します。 
匕は I, : 0^6 5*3^5 

5?じ 内部の ヌ 1?0 バッファの 状態 を 示します。 5?じ の] 7 1?0 バッファ は 8 バイ ト あり, 中 
に データが 入って いないと ビッ ト 力、 データが フル 〈8 バイ ト 入って いる) なら ビッ ト 1 が 
1 'になります。 両方と も' 'になって いると き は, 空で も フルで もない という ことです から, 1 
〜 7 バイ ト 分の データが 入って いる 状態と いう ことにな り ます。 



9 5 日 88 レジスタ 



ビッ ト配 15 を 図 19 に 示します。 
》 図 …… 19 5 巳?^ レジスタ (ベース アドレス 十别ド) 





6117 6 








2 


1 


刚 


^0 


03^3 匚 「「0 厂 

3051 5^0 


X き は 


で' 


& 「0 厂 


'! 3, 


5^1011 丁 「3 ま 「 


,0, 



1:8 & 3, または 八 (^信号 力 《3^; 
が 追従で きない ほ ど 速い 周 
期で 入力され た 

0: 正常 



1 : 転送 ノ 、'イト カウンタの 減算 動作 でノ 、。リ ティ エラ 一が 

発生した 
0: 正常 



1: 03 ね お 叩 65 セ中 ^[^(: レジスタの 6 は 5 =1 'のと き に 使用す る) 
0: 通常 動作 

イン プッ ト 動作 時に 51:51 から 受け取った データに パリティ エラ一 を 検出した 
(未定 数) 

ァゥ トプッ ト 動作 時, 5051 バスに 出力しょう とした データに パリティ エラ一 を 検出した 
パリティ エラ一 は 検出され なかった 



483 



この レジスタに 示される エラーの うち, ビッ ト 3 かビッ ト 1 のい ずれ かが' 1 'になる と, 5? じ 

931^\^ !" 6 &!" !" ひ^ [下 5 レジスタの ビット 1〉 となり, 割り込みが 発生し ます。 それぞれの 

エラーの 意味 は 次のように なって います。 

ほ 7, 6 : 031:3 曰 「「0「 

3 じ 51 上で パリティ エラー を 検出した こと を 示します。 ビッ ト 6 と 7 の 組み合わせと その内 
容は図 19 に 示した とおりです 力、 読み かえると, ビッ ト 6 は 3?じ 力む、 。リ ティ エラー を 発生し 
たと き に' 1 'とな り, ビット 7 は 入力 時に 検出 した 場合に' V, 出力 時に 検出 した と き に は' 'にな 
ると 考えれば よいよう です。 
1)11: 3 : 70 ?3「1 か 已 「「0「 

ョ?じ 力 绵云送 バイ ト カウンタの デク リメ ント 動作 をして いると きに パリティ エラー を 検出し 
たこと を 示します。 

611: I : 511011: 丁 「3 门 5 お 「 ? 61 "! 0(3 

尺 2(3 や 八 じ X 信号 入力が 3? じ 力 ^ 追 徒で き ない ほど 速い 周期で 入力され たこ と を 示します。 
5?じ が 追従で きる 周期 を 図 20 に 示します。 この タイ ミ ングは ミ?じ に 与えられ ている クロ ッ 
ク 周波数 を もとにして 算出され ます。 クロック 周波数 は 取 り 扱レ 、説明書な ど を 見ても 書いて あ 
りませんでした ので', 実測した ところ (じ 2-6851 を 初^! に 入れた 場合), 5 IV [ョ 2 でした。 こ 
れょ り, セ。 し ドニ200113 となり ます。 

參図 …… 20 ?^。/ ゑ じに 信号 周期の 制限 





3 X ^ば 以上' 必要 




卜^ 以上 必要 













^し 「:5「0 の クロック 周期 

"ら犯。!^ 初代 機) 十に- 6831 の 場合, 200 05 5 



か10 卩0 丁し レジスタ 



ビッ ト 配置 は 485 ページの 図 21 のように なって います。 

ビット 6~ 3 は 使用され ていません カ气 で 'を 書き込む ようにして ください。 おのおのの ビ. 
ト の 意味 は 次の ようになって います。 



484 



5051 



》 図 …… 21 卩 丁し レジスタ (ベース アドレス 



8113^66 ^丁 


1 1 
ず 


丁 「305 お 「 ! 3 113 56 


& 1131316 


^50 | 0/0 1/0 



1 : バス フリー フエ一 ズを 検出す ると ひ ミ③ロ阳じ お。 

割り込み を 発生す る 
0: 通常 動作 

氺 561601 コ マン ド発行 時 や, 01500 叫 6 な 6づ 
割り込み を リセ ッ 卜する とき は ず にして 
おく こと (不要な 割 り 込みの 発生 を 防止 
する ため) 



夕一 ゲッ ト 動作 時 

5051 で 実行す る フ ヱ ーズを 指定 
イニシエータ 動作 時 
実行 予定の フェーズ を 指定 

111: メッセ一 ジ イン フェーズ 

110: メッセ一 ジ アウト フェーズ 

101 : (未使用) 

100: (未使用) 

01 1 : ステータス フェーズ 

010: コ マン ド フェーズ 

001: データ イン フェーズ 

000: デ一 夕 ァゥ ト フェーズ 



13117 : 8115^66 I 町 & 13 匕 16 

バ スフ リ 一 フェーズ 検出に よ る ^^(^^(:ぉづ 割 り 込み を 発生す る 力、 否か を 選択 します。, 1, 
にす ると 割り込み 発生 許可になります。 3616 は コマンド を 発行 するとき や, ひ^:ひ皿ば注づ 割 
り 込み を リセ ッ ト する ときには, この ビッ トを 必ず, 'にして 不要な 割り込みの 発生 を 禁止して 
ください。 

611: 2, 1,0: 丁 「3115 お!" 「11336 

イニシエータ として 3051 バスと 結合して いる ときには 実行して いるつ も りの フヱ一 ズを, 
タ 一ゲッ ト と して 結合して いる ときには 3031 で 実行す るフ ヱ一 ズを 設定し ます。 ィニ シェ一 
タ として ハー ド 転送 を 行う 場合, バス 上の フヱ一 ズ とこの レジスタで 指定した フェーズ 力 3 ' —致 
しないと, 転送 動作が 行われません ので 注意して く ださい。 

コ マン ドを 発行す る ときには, この レジスタの ビッ ト が, 'だと セレ クシ ョ ン フエ一 
ズ, ,: [,だと リセ レ クシ ョ ン フェーズの ォ旨定 になり ます。 




3 卩 の 転送 モード 



3?0 の 持つ 転送 モー ドを 486 ページの 図 22 に まとめて おきました。 

マニュアル 転送 は, 尺 ^(:!^ ハン ド シェークの 制御な ど をす ベて じ? じ でコ ン トロール 



図 …… 22 590 の 持つ 転送 モード 



転送 モ一 ド 


データ アクセス 


化 信号 


0卩 りが 転送 制御に 
使用す る レジスタ 


備 考 


マニュアル 転送 


丁 巴!^? 3 レジスタ 


出力し ない 


レジスタ 




ハ一 ド 転送 


プログラム 
転送 


0ぉ ビ レジスタ 


出力し ない 


55 丁 5 レジスタ 
(または 割り込み) 


X 68000 では 使用 不可 


[^^転送 


[^ビ レジスタ 


出力す る 







する ものです。 3 八 51 ポートと 似た ような もの だと 思えば よいでしょう。 この モードで は, 
3 じ 51 'バスの データ ライ ンの アクセス は 丁 21^? レジスタ を 通して 行います。 ハー ド申云 送 は' こ 
のよう な 面倒な 制御の ほ とん ど を 5? じ 自 体で 行 つてし まう モード です。 この モードで は' 
5051 バスの データ ライ ン との アクセス は レジスタで 行い, 8 バイ 卜の ? 1?0 バッフ 
ァか 有効と なり ます。 

さらに, ハード 転送 モード は 01^2(3 (0]V [^転送 要求) 信号 を 出力す るか 否かに よって, 
^転送 モー ドと プロ グラム 転送 モー ドの 2 つに 分類で き ます。 ただし, X 68000 の 3 じ 51 
インタフェース では, 3?じ の 0112(3 信号 を 丁 八 (:に 信号 を 作成す る の に 使用 している ため, 
プログラム 転送 モー ドを 選択す ると, 01^;0 レジスタへの アクセスが でき なくなり ます (すべ 
て バス エラーに なって しまいます)。 



5 



び 〇 の コマンド 



50^0 レジスタの 上位 3 ビッ トに 書き込む コ マン ドと, その 動作 は 次のように なって いま 

す。 



0.1 6113 8616336 コマンド 



ターゲット として 動作して いると きに バス フリー フヱー ズ への 移行 を 行う ときに 使用し ま 

す。 データ 転送 巾から 移行す る ときには, 丁!" 3 115; お!" ? 311 36 コマンドで データ I 云 送 を 停止 させ 
てから 行うよう にして ください。 

この コマ ン ドは 5616は コ マン ド 発行 後, バス フリ 一 フェーズ 待ちの 状態に あると きに 



5051 



5616は コマンド を キャンセル する ため に 使用す る こと もで きます。 







2 561601: コマンド 



セレクション/ リ セレクション フ エー ズの 起動 要求 コマ ン ド です。 八 11311X31:1011 21131)16 にな 

つてい ると き はじ丁乙 レジスタの ビッ ト 4 が' 1ゥ に は, セレクション ダリ セレクション フェーズ 
の 前に ァービ ト レー ショ ン フェーズが 自 1 加 勺に 実行され ます。 ァービ ト レー シ ョ ン フェーズで 
負けても, この コマンドの 実行 は 終了し ます。 

ァ ービト レー ショ ンで 勝った 場 が, 八! ±111X31:100 & 13ヒ61 でない 場合に は, セレ クシ ョ ンダ 

リセ レク ショ ン フェーズ 力 《 実行され ます。 

3616は コマンドが 失敗した (セレクション タイムアウト になった) ときには" 111116 0111; 
ひリ 丁 5 レジスタの ビッ ト 3 を' 1 'として, また, セレクション 力;' 成功した 場合に は 0)11111130(1 
00111131616 ひ]^ 丁 5 レジスタの ビット 4 〉 を' 1 'にして 害 リ り 込み を 発生し ます。 

561601; コマンド は, コ マン ド 発行 前に 次の 設定 を 必要 とします。 



?0 丁し レジス 夕の ビッ ト 

セレ クシ ョ ンフヱ ーズを 実行す るの か, リ セレクション フェーズ を 実行す るの か を 選お くし ま 

す。 ,0 'の ときには セレクション フェーズ, 1 'の ときには リ セレクション フェーズ 力 《実行され ま 

す。 

561: 八丁 リコ マン ドの 発行 

セレクション のす 麦, メッセージ アウト フェーズ を 実行したい 場合に は, 3616 は コマンドに 先 

立って 361 八!^ コマンド を 発行し, 八!^ 信号 を' 1 'にす るよう 3?じ に^^ します。 
丁 已!^! 3 レジスタ 

セレクション/ リ セレクション フェーズの ときに データ ラインに 出力す るィ直 (自分と 相手の 
10 に 対応す るビッ ト 力ぐ 1 'になった データ をセッ ト します。 
70^/701^ レジスタ 

セレクション フェーズ ダリ セレ クシ ョ ン フェーズの と き の 相手からの)^ を 待つ 時間 (^巳丫 
信号が' 1 'になる までの 時間) を 設定し ます。 この 時間 丁 は, 丁 (:!! ダ丁 ^]V [で 示される 値 を X と 

すると, 



丁 二 〈XX 256+15〉 XI;。 ぽ X 2 



で 表されます。 ここで, ^ぼ は 5? じ に 与えられ ている クロ ッ クの 周期です は 68000 では 200 



487 



113 で 計算し ます)。 この 時間 カ^! 過しても, 83 丫 信号が' 1 'にならない と, セレクション タイム 
ァゥ ト にな り ます。 X が の と き だけ は 例外で, 監視 時間 は 無限大に な り ます。 
丁 し レジスタ 

5?じ 力く 135丫 と 521 信号が ともに' 'となって から アービトレーション や セレクション/ リ 
セレクション フヱ ーズを 開始す るまでの 時間 を 設定し ます。 この 待ち時間 は, !!:乙 への 設定 値 
を X とすれば, (X+6) X ^びから (乂+ァ) ズ^ ぼの 間の 1 直とな り ます。 X の" [直の 範囲 は 300 〜お 
?で, 310)^1 の 設定 は 禁止され ています。 X 68000 の 場合, 推奨 値 は 303 です。 







3 561 八丁! \1 コマンド 



5 じ 51 バスの 八丁!^ ライ ンを' 1 'にします。 巳?じ が イニシエータ のとき だけ 有効です。 561601; 
コ マン ドの 前に 発行され た 場合に は, 561601: コ マン ドの 実行時に ^丁]^ ラインが' 1 'にな り ま 
す。 ただ し, セレクション フ エー ズ 実行 前に 5616は63 か 尺 63616は601 割 り 込みが 発生した 場合 

は, 561 八丁!^ コ マン ドは破 棄 されます。 



071 1=56561: 八丁! VI コマンド 



5051 バスに 出力 中の 八!^ 信号 を' 'に 復帰させます。 ただし, 5?じ カ绵云 送 実行中に パリ テ 
ィ エラー を 検出した こ と によって 自 娜 勺に 3〔3 レ、' スの ^丁!^ 信号 を' 1 'に した 場合に は, 実行 
中の 丁!" 犯 5 お!" コ マン ド 力 5 ' 終了す るまで, この コマ ン ドで 八丁]^ を リセット して はいけ ませ 
ん。 

マニュアル!)! 云 送のと きに 八丁^! 信号 を リセ ッ ト するとき は, 八 (:に 信号 を' 1 'にす る 前に 行つ 
てくだ さい。 

次の 場合に は, 3? じ は 自動的に 八丁]^ 信号 を' 'に 復帰させます。 

, 01300110601;601 割 り 込みが 発生 したと き 

'ハードお 送 モードで, メッセージ アウト フェーズ を 実行す る 場合で, ||# 冬 バイト を 送出す る 
とさ 

'セレクション タイムアウト 検出 後, 85? 信号の 応答が な いま ま, 割り込み を リセットして 

5?0 が ! 3じ31 バスと 非 結合 状態になる と き 
'セレ クシ ョ ン タイム ァゥ ト 時間 を 無限大に 設定した とき, 83 丫信 号の 応答がない まま 

丁; 016 0は ビッ ト 〈11^ 丁 5 レジスタの ビッ ト 3 に 1 'を 書き込んで 非 結合 状態に 復帰させる 



488 



5051 



とさ 



0, 



5 丁 「3113 干 6 「コマンド 



データ イン/アウト, ステータス, コマンド, メッセージ イン/アウトの 各 フェーズでの デー 

タ 転送 (ハード 耘送) の 実行 開始 を キ^; する コマンドです。 この コマンド を 実行す る 前に, 次 
の 設定 を 行って お く 必要が あ り ます。 

'転送 バイト カウンタ (丁 (:^/ 丁 ^]V [/丁 (: し) に 転送 を 行う バイト 数 を 設定す る 
, 卩じ 丁し レジスタの 下位 3 ビッ トに 実行す るフヱ ーズを 設定す る 

ター ゲッ ト と して 動作して いる ときには, コ マン ドの 実行 は 次の 条件で 終了し ます。 

~ 転送 ノ 《イト カウンタに 設定した ノ ^4 ト 数 分の 転送が 終了 し た 

~ 丁!" 305 お!" ? 31136 コ マン ドが 発行され た 

~ レジスタの ビッ ト を' 1 'にした イン プッ ト動 作のと きに データ ラインに パリティ ェ 

ラー を 検出した 

イニシエータ と して 動作して いる ときには 次の 条件で コ マン ド 実行 を 終了し ます。 

~ お が;呢 転送 モードで ない ときに お 送 バイ ト カウンタで 指定され た バイ ト 数の 転送が 終了 
した 

, ター ゲッ トが !^丁乙 で寸 II 定 した 以外の フェーズに 移行した 

, 0;500011601;601 割 り 込みが 発生 し た 

幸 云 送 開始 時, ? レジスタ で 指定 した フェーズと 3 じ 51 バス 上の フエ 一 ズが 一致 しない 

と, 転送-謝 乍 は 開始され ず, 56^ぴ !" 6(1 割り込みが 発生し ます。 

なお, イニシエータ として ハード 転送 を 実行す る ときには, 転送 バイト カウンタの 値 は 2 以 

上に してく た' さい。 



489 



6 



1 !' 91151 : 6 !' ?3 じ 56 コマ ン卜 



ター ゲッ ト と して 動作して いると き, 実行中の ハー ド! |! 云 送 動作 を 中断させる コ マン ド です。 
イニシエータ として 動作して いる ときには, この コマンド は 使用で きません。 アウト プッ ト動 

作 時, この コマンド を 発行 し た 後 は 0^20 レジスタへの 書き込み を 行って はなり ません。 



7 5@1: 八 に /闩 日 コマンド 



マニュアル 転^^に 5 じ 51 バスの 八 (: に/!^; 信号 を' 1 'にす るた めに 使用し ます。 ィ ニシェ 
ータ と して 動作して いると き に は 八 (:仄 信号が, ター ゲッ ト と して 動作して いると き に は 
信号が' 1 'になります。 このと き, ? (: 丁し レジスタの 下位 3 ビットに は 実行す る フェーズ 
を 設定し ます。 



き 



8 ^@361: 八 に /闩 ョ コマンド 



マニュアル 転 游, 5(351 バスの 八 0^/1^*3 信号 を' 'にす るた めに 使用し ます。 ィニシ エー 
タ と して 励 作して いる ときには 八 じ X 信号が, ター ゲッ ト と して 動作して いる ときには 1^2(3 
信号が' 'になり ます。 必要なら, 本コ マン ドに 先行して 56;1; 八丁!^ コ マン ドを 発行して おく こ 
とで, ^丁!^ 信号 を 出力 させる ことができ ます。 

メ ッ セージ ィ ンフ ヱーズ での 転送 を ハー ド! I; 云 送で 行った 場合, 5?0 は!!^ バイ ト を 受け取つ 
た 後, ^0 く 信号 を' 1 'にした まま 転送 を 終了して しまいます ので, この コマンドで 八 じに 信号 
を' 'に 復帰させる 必要が あ り ます。 




3051 の 主要 コマンド 



3 じ 31 の 規格 《ゆきに 3 じ 31 ィ ン タフ ヱ ースで 用いられる コ マン ドも 整理され たのです が, そ 
れ だけで はま だ 不十分で あると いう メーカの 声 力 《 強い ことから, 八]^ 51 でも 5051 コ マン ドの 



490 



5051 



規格化 作 ま-を 行って います。 これらの コマンド は 0:5 (じ。!!!!!^!! 00111111 & 11(1 巳。!;) と 呼ばれ 
ています。 

005 の すべてに ついて 説明す るの は と て も 無理な ので, ここで は ト111013068〖 の 5 じ 51 ド 
ライ バ など 力ぶ 使用して いる コマ ン ドに 限定して 説明して おく ことにしましょう。 



^1 5051 コマンドの 一般 形 



5051 コマンド フォー マツ 卜の^ 娜を 492 ページの 図 23 に 示します。 
3 じ 51 コマンド は, 3 八 51 と 同じ 6 バイ ト長 コマンド に加え, 10 バイ ト長, 12 バイ ト 長の コ 
マンドが あります。 このうち, 10 バイト 長 コマンド は, コマンドの 111 初の バイトの」 マ 位 3 ビッ 
ト (グループ コード) が' 001,, 12 バイ ト長 コマンド は' 101 'になって います。 6 バイ トコ マンド 
の フォーマット は, 名称が 変更され ている^ で', ほとんど 5 八 51 と 同じです。 

ト 111111311681 くの 5 じ 31 ドライバ など 力' 使用す る コマンド は, ほとんどが グノ レープ (グルー 

プコ 一 ドが' 000リ で, 03(3301^ な ど, ご く 一部の コ マン ドが グループ 1 となって おり, 

グループ 5 のコ マン ドはぁ り ません。 

コ ン ト ロール パ' ィ ト (各 命令の 最終 バイ ト) の 1^111 く ビッ ト は, ター ゲッ ト に 複数 コマ ン ドの 
連続 実行 をさせる ために 使用す る フラグです。 連続 実行 を 行う ときには, この ビッ トを' 1 'にし 
ます。 ターゲット にこの 機能が サポート されて いると, コマンド 実行 後の ステータス フェーズ 
で I 〜下 八丁 2 ステータス を 返し, メ ッ セージ ィ ン フェーズに 続いて コ マン ドフ エー 
ズに 移行し ます。 

? 138 ビッ トは, し 111 ヒビッ トを' 1 'にした ときに のみ 有効です。 《ビッ トカ" 'のとき にこ 
の ビット を' 1 'にして はなり ません。 この ビットが' 1 'だと, ターゲット は, コマンドが 正常終了 
した 後に, 乙 11^X20 001^^^0 03^?!^; 丁 2 VI 丁 II 卩し 八 メ ッ セージ を, で 'のとき 
に は 01^X20 001\41\1^^0 (:ひ!^? し 2 丁 5 メッセージ を 通知し ます。 通常, この フラグ は 一 
連の コマ ン ドの 中で ォ寺定 の コ マン ドの 実行 か 終了 した こと を 検出す るた めの マー ク と して 使用 
します (どちらの メッセージ カぢ运 つてき たかに よって, マークした コマンド か 否か か 'ぬ川 でき 
る)。 



491 



図 …… 23 5051 コ マン ドの 一般 形 



6 バイ ト長コ マン ド (グループ 0〉 



転送 順序 


6117 ! 6 ! 5 


4 ! 3 ! 2 ! 1 ! 6110 


備 考 





グ」 卜 プコ- 


-ド 


コマンド 二 


― ド 




才 ヘレ ーシ ョ ンコー ド 


1 


^ | し じ门 ^ 


識 里 ブロック アドレス (上位) 




2 


論理 ブ 


コック アドレス 




3 


論理 ブロ 


ンクァ ドレス (下位) 






4 




転送 長 










V 




円 38 


し^ 


コント 口 一ルバ' ィ ト 



10 バイ ト長コ マン ド (グループ ハ 2 バイ ト長コ マン ド (グループ 5〉 



転送 順序 




備 考 


10 バイ ト長 


12 バイ ト長 


1)117 6 5 


4 3 21 わ け 








~ 1 ~ 1 ~ 

グループ コード 


コマンド コート 




オペ レー シ ヨン コード 


1 


1 


し ノ 

に謝|广 二':/ ト | 番号) 


(只 656「リ6 づ) 


お 1 
剐「 




2 


2 


論理 プロ 


ンクァ ドレス (上位) 




3 


3 


論理 プロ ック アドレス 


4 


4 


論理 ブロ ック アドレス 


5 


5 


論理 ブロ ックァ ドレス (下位) 


6 


6 


1^656^/6^ 


(将来 拡張 用) 




7 


II 


8 


!! 


7 


9 


転送 長 (上位) 
1111111 




8 


10 


転送 長 (下位) 




9 


11 




し;^ 


コント ロール バイ ト 



8 6 | 六づ「: 論理 ブロ ックァ ドレス は 最後に アクセス した ところからの 相対値で ある 



〔 2 の 補数 表記) 
V : ベンダ (メ一 力) ごとに 自由に 使用 可 



招2 



5051 



2 5051 コマンドの コード 



X 68000 で 使用され る 主要な コ マン ドのコ 一 ドー 覧を 図 24 に 示します。 



咽 …一 24 5051 主要 コマンド 



- 1 


マンドの 1 バイト 目 






オペ 1 


シ 


グループ 


コマンド 


コ マン ド名 


備 考 


ヨン コ一 


ビ 


コード 


コ一ド 






5 00 







30 


丁 651 1)011 お 3(1 ソ 


ュニッ 卜が 使用可能 であるか 調べる 


6 01 







51 


き 「0 リロ は 


シ リンダ へのへ ッ ド 移動な ど を 行う 


3 03 







83 


86^11651 561156 


センス データの 取得 


5 04 







34 


「0171131 1)^111: 


メディアの フォー マツ ト を?? う 


5 08 







58 


お 3(1 


データの 読み出し 


3 八 







3^ 


耐 6 


データの 害き 込み 


312 







312 


1 哪 ひ 


タ 一ゲッ ト および ュニッ 卜の 属性 情報 取得 


3 卩 







31^ 


圖 6 ^6056 


メディア や ュニッ 卜の パラメータ 取得 


3 25 




1 


85 


863 づ 03^30!^ 


ュニッ トのブ 口 ック長 ゃブロ ック 数の 取得 


5 28 




1 


88 


ぉ3 づ 


拡張 匝ム (ブロック ァ ドレス や 転送 長の 拡張) 


ゆ 




1 


^/^ 


髮 6 


拡張 〜61 丁已 〔 !! 〉 









518 


じ0^ 


論理 ュニッ ト 間/同一 ュニッ 卜での コピー 


139 




1 


319 


00(11^)31-6 


〃 データ 比較 


"ム 




1 


51 み 


叩 V ^6 乂6「1 & 


〃 コピーと ベリファイ 



このうち, 上から 9 つまで は, ドライバが サポート を 要求して いる 必須 コマンドです。 
X 68000 で 5 じ 31 ディスク を 接続す る と き に は, III 氐限, これらの コ マン ドがサ ポー ト されて 
いなくて はなり ません。 

続く ぁ28 と 32 八の 2 つの コマ ン ドは, 6 バイ ト長コ マン ドの 尺 633 コ マン ドと , !"; お コマ 
ン ド を 拡張 し, より 大き な プロ ック 番号と プロ ッ ク 数の 指定 力 《 行え るよう にし た 拡張 1?2 八 IV 
界 III 丁 2 コ マン ド です。 X 68000 では, ディ スクの 先頭 ブロ ッ ク に 書き込まれる デバ ィ ス パラ 
メータ 中に 拡張 ^2^0/^1^1X2 コ マン ドカ 《使用で きる 力、 否か を 示す フラグが あ り ます。 

最後の 3 つ, じ 0ロ め 0)011331 じ01^ ^11(3 乂61 ^か コマンド は, とくに 使用され る こと は 

ない と 思います が, 後の 説明の 中で これらの コマンド 名が 出て くるた め, 一応 オペレーション 
コード だけ は あげてお きます。 



03 5051 の 主要 コマンドの 内容 



5〇51 コマンド のうち, 300, 501, 503, 504, ミ0 八の 各 コマンド は, 3 八 31 のと ころ 



493 



で 説明した ものと 同様です ので 省略し, ここで は, ?^ひ?^リ^丫), 31 八 0^002 52^50 ! 
525 は 2 八!) (: 八? 八 口下?), 528 (拡張!^; 八 ひ, 32 八 (拡張^^ I 丁 ^ の各コ マン ド につい 
て 説明して いくこと にします。 



01 | リ 18丫 コマンド (オペレーション コード^ 12〉 

1^1(31111^^ コ マン ドの フォー マツ トを図 25 に 示します。 



図 …… 25 1闪0!リ1?? 丫 コマンド 



転送 順序 


ヒは 7 


6 




4 


3 




1 


ヒは 


備 考 





ず 


ず 




丫 


ず 


で' 


丫 




オペレーション コ一 ド: 寒 12 


1 


^王 王 


し!^ 

ユニット 


番号) 














2 


I I 


^6561^601 




3 






4 




1 1 1 
八 11003 お 011 し 60 お 11 






イニシエータが 用意して いる バッファの バイ 卜 長 


5 


V 


ぉ56「\;6 づ 


円 38 


し 1^ 





この コマンド は ターゲットと, その 下に 接続され ている ユニット (デバイス) 力 《 どのような 
デバイス である 力 \ 取り外し 可能で あるかな どと いった, 属性 情報の 読み出し を 行います。 こ 

のコ マン ドで 得られる データの フォー マツ トを図 26 に 示します。 

胃 バイ トは, 接統 されて いるの が 000 のよう な ダイレクト アクセス (ランダム アクセス) 
テン 、'イスで ある 力、, シーケンシャル アクセス 亍' ^4 ス であるかな どの テン くィ スの禾 動リ を 示す こ 
とに します。 乂 68000 では, 現在, ダイレクト アクセス デバイス しか サポートされ ていません 
が, 将来 は じ!)- ^0!V [や 八丁な どの シーケンシャル アクセス デバイスの サ ポー ト も 行われる 
ようになる でしよう。 

^8 ビッ トは, その デバイスが リムー バブル (取り外し 可能) である 力 せ か を 示します。 110 
のよう に 取り外し 不可能な 場合に は ^8 ビッ ト は' 0,, 光磁気 ディスク のよう に リ ムー バブル 
な デバイス 場合に は' 1 'になり ます。 

^^見 格 は, その デバイスが ^ している 規格 を 判断す るのに 使用され ます。 下位 3 ビット 
が 八]^ 31 の 規格, そのほかの ビッ トが 130 や 20\1 八な どで 規定す る 3 じ 51 規^の^ ^ を 
示します が, 当然の ことながら, 八 1^31 の 規格 書で は ^^51 ビッ トの 定義し か あ り ません。 一 
般 的な 5 じ 51 対応 ハー ド ディ スク も, 130 や 21^05 の ビ ッ ト はすべ て' 'に している ようで 



5051 



き 図 …… 26 リ旧丫 データ 



転送 順序 



備 考 



! 3 6「1^16「31 06ソ に 6 丁乂 |36 



デ バイ ス 種別 



刚 8 



06ソに6, 丁 ゆ 6 0リ311 干 16「 



下位 7ぉ は 任意 使用 可 〔01? スィッチの 状態な ど) 



150 ゾ6「5;00 



三 じ" み ソ6「51011 



リ 5 卜^^ 0ッ6 づ 



準拠 規格 



3 



(只 6561^6 づ) 



4 

5 〜! 1+ 4 



八づづ I セ 10031 し 6118^1 

-ト… 十… や… ト… 卜- ― ト— 十 

ソ6 门づ 0「 リ ― リ 6 ^ ^3 111616 !' 8^65 



追加 データ 長 
追加 データ 



3: 取り 外し 可能 デバ ィ ス のとき' 



1 3 6 !' 1(3^61-31 丁乂 |36 



値 


内 容 


500 


ダイレク ト アクセス デバイス 〜00 等) 


501 


シーケンシャル アクセス デバイス (リ 丁 等) 


本 02 


プリ ンタ デバイス 


303 


プロセッサ デ バイ ス 


304 


れ0尺1\;1 (追記 型) デバイス 


305 


読み出し 専用 ダイレクト アクセス デバイス 




(将来 拡張 用) 


57 厂 


論理 ュニッ トは 存在し ない 


580〜3 吓 


各 ベンダ (メ一 力) で 自由に 使用 可 



卜 八 |3|3「0乂8 ョ ソ6「5100 



値 



内 容 



準拠 規格な し 

八お I ス3, 131-1986 準拠 

八リ51 ズ3 丁 9.2/86-1 0ョ ぐ 305 ト 2 〕 準拠 

(将来 拡張 用) 



す。 

八]^ 31 ビッ トは' 1 'のとき, 八 X 3.13 卜 1986 〈 これが もっとも^! 如 勺な 3 じ 31 の 規格) 
に, ,2 'のとき に 八:^ 51 ズ3 丁 9.2 ダ 86-109(5 じ 5 ト 3 に 1 樹処 している こと を 示す ことにな つてい 
ます。 格が X 3.131-1986 以前の ものであるよ う な 場合に は' 'を 返す こ と になって いま 
す。 



02 



1\^00^ 551\15 巴 コマンド (オペレーション コード 51 八) 



メ デ ィ ァゃ 論理 ュニ ッ ト , 周辺 デノ く イス ノ 、'ラ メータな ど を 幸 I ま告す る コマンド です。 コマンド 

の フォー マツ トは 496 ページの 図 27 のように なって います。 

この コマンド に対して, ター ゲッ トは図 28 のよう な フォー マツ トの データ を 送って きます。 
このう ち, と く に 必要性 力 稿 いのは ,? 〈V お ?!" おは 二 書き込み 禁止) ビットでしょう。 
': I 'のとき, その メディア 力 省き 込み 禁止で ある こと を 示します。 



495 



図 …… 27 17100 & 5^5^ コマンド 



転送 順序 




6 




4 


3 


2 




6110 


備 考 





す 




'。, 


丫 


丫 




丫 


,0, 


オペ レー ショ ンコ一 ド: 31^ 


1 




し!^ 

にット 


番号) 






256^ 


お) 






2 






ぺジコ ド;! 


删 X1 131-1986 では 貼站ひ お 


3 




11111 




4 


入 


1003^0^1 し 60 お^) 






イニシエータが 用意して いる バッファの バイ ト数 


5 


V 


ぐ ^6561^6 づ) 


闩 3 ぼ 


11^ 





9 


内 容 




ページ コ一ド 


1 00 1 


カレント 値 







'。卜 


変更 可能 値 




1 


'川' 


デフ オル ト値 




2 


'!!' 


セーブ 値 




3 






4 












8 






521 






822 






53「 



内 容 

ページ ディスク リ プタは 転送し ない 
リード/ライ ト エラ一 リカ バリ パラメ 一夕 
ディスコネクト/リコ ネク 卜 パラメ一 タ 

フォー マツ トノ 、。ラメ一 タ 

ドライブ パラメ 一夕 

ベリファイ エラ一 リ 力 バリ パラメ一 タ 

キャッシング パラメータ 

アディ ショナ ルエラ一 リカ バリ パラメータ 

リ コネクション タイ ミ ング パラメータ 

全 パラメータ 



図 …… 28 17100 匚 5 55 データ 



転送 順序 


お 7 |6|5|4|3|2|1 | 1:110 


備 考 





561156 03 セ 3 し 


センス データ 長 (自分自身 は 含まない) 


1 


^6^11101 丁乂 [: 6 


メディア タイプ 


2 


(6656I^V6 づ) 


,: 濕 6 ? 「0 おは 「1 'のとき 書き込み 禁止) 


3 


8100^ 06301*1(310 !' し 6 门 2^1 


ブロック ディスクリプタ 長 〖8 の 倍数になる) 





06051~ 000)6 


密度 コー ド 


ブロック 
ディスク リ プタ 
(複数に なること も ある) 


1 


ペリ ま 「 于 8100^5 (!^) 


プロ ック数 




リリ^ 匕6「 干 8100^3 


3 


^由 「 チ 8100^5 (し 38〗 


4 


(お 56「化 め 


(将来 拡張 用 〉 


5 


6)00^ し 的柳 (!^ミ 8 ) 


ブロ ック長 


6 


曰 100^ し 61101: [! 




8100 に し 60 お 11 (し 58〉 


〜^! 


ソ60づ0「 リ门ゅ リ 6 円 3「30161:6「 8^65 


ベンダ (メーカ) ごとに 自由に 使用 可 



496 



5051 



06 门 5 は乂 00^6 



値 


内 容 


ヲャ 的お お 
おお [^一 


デフ オル ト (単一 の 密度の みサ ポー ト) 
単 密度 フ 口 ッ ピー ディ スク 
倍 密度 フ 口 ッ ピ 一ディ スク 
(将来 拡張 用) 

ベンダ (メ 一力) ごと に 自由 に 使用 可 



メディア タイプ は, おもに フロッピーディスク や^ 丁 (!^^^!^化 丁 ^甴 を 考えた パラメ 

ータ であるた め, 90 では 300 が 入る だけの ようです。 メディア タイプの 内容 を 図 29 に 示して 
おきます。 

コ マン ド 中の 八 110(^1:100 し 60 8 1±1 は, ィニ シェ一 タカ 《受け取りたい ^002 52X52 デー 
タの バイ ト数を 指定し ます。 ター ゲッ トは, ここで 指定され た バイ ト数 以上の] ^002 
52^35; データ は 送信して き ません。 

また, コマンドの 転^) 頓序 2 の データ は, 八]^ 31 X 3.13:1-1986 では 予約 領域と なって いる 
のです が, その後の 標衝匕 健 で ?じ と ページ コードと いう データに なった よう です。 残念な 
がら, 私の 手元に は 資料がない のです が, ディスク メーカの 出して いる マニュアル など を 見る 

參図 …… 29 メディア タイプ 



値 


メディア タイプ 


500 
502 


テフ 才」 レ 卜 メディア (じ リ 「!" 6^1: 「ソ 171011^11:6^ ^16011 リ 111 む 口 6 リ 
片囬 フロッ ピ 一ディ ス ク (リ^^ロ^じ け 161^ [! 160111^ 171; 
両面 II 〔 か 》 



フロッ ピ 一ディ スクの メディア タイプ 



値 


サイズ 


ビ': 


, ト 密度 


トラ ッ ク 密度 

/[! 1171 (/\V\^\\) 


面 


参照 規格 


505 


8 ィ ンチ 


6 


631 


1.9 (一 


1 


舰 I 乂3,73- 1980 


306 


II 


6 


631 


〃 


2 


已ぼゑ 59 


^09 


II 


13 


262 


〃 


1 


なし 


舞 


II 


13 


262 


〃 


2 


^31 ズ3,121- 1984 


800 


5, 25 ィ ンチ 


3 


979 


〃 


1 


厲 I ス3,82-1980 


812 


〃 


7 


958 


〃 


2 


删 ズ3,125- 1985 


316 


1! 




958 


3.8 (ョら) 


2 


^51 ズ3, 126-1986 


51 ム 


1! 


13 


262 


II 


2 


150 0158630-1985 


|11 


3.5 ィ ンチ 


7 


958 


さぶリョ) 


2 


舰 I ス3バ37 



ダイ レク ト アクセス! VI 丁 



値 


幅 

、[! !!!!) 


トラック 数 


密度 


参照 規格 


840 
ま 


6.3 
6.3 


12 
24 


?ョゲ"。。!]) 

394(10000 


删 ス385ハ5-151 

〃 



497 



と, ^002 52X52 データの うち, 乂611^01 "じ 0;9116 ?31 "; 1016 お]" 8れ65 のと ころに, エラ 
一発 生 時の リトライ 回数 や 回復— か 法, 欠陥 ブロックの 交替 処理 方法, シ リンダ 数, ヘッド 数な 
どの 情報が 入って います。 ? (: と ページ コードで, これらの うち, どの ハ 'ラ メータ を 受け取りた 

いの か を 指定して いる わけです。 これらの 一部 は, ^002 52 し 2じ 丁 コマンド (オペ レー ショ 
ン コード 315〉 で 変更す る こと も 可能と なって います。 これらの パラメータの 具 1种 勺な 内容 は 
非常に 複雑で ある わ り に は 日常 的に 使用す る こと は ほとんどな いので 説明 は 省略し ます。 一応, 
参考に した ドライブ メーカ (富 ±4〉 の ? じ と, ページ コー ドの 値と, その 内容 を 図 27 に 併記 
してお きます のて" #考 に して く ださい。 



8 已八 八! 3 八 01 丁丫 コマンド (オペレーション コード 

コ マン ド フォー マツ トを図 30 に 示します。 この コマ ン ドは, ドライブの 1 ブロックの バイ ト 
数と, ブロック 数 を 報告させる ものです。 この コマンド に対する 応答 データの フォーマット を 
図 31 に 示します。 乂68000 の 5 じ 51 ドライバ では, ブロック 長と して 256, 512, 1024 バイ ト 
のい ずれで も かまわな いよう に してお り, ディ スクの 先頭の 5081 デバ ィ スハ 。ラ メータ 領域に 
プロ ッ ク 長と 総 プロ ッ ク数を 1: き 込んで います。 

秦図 一… 30 1^6: 八 じ 八? 3 六 じ1 丁丫 コマンド 



転送 順序 


13)17 6 




4 3 2 




1:110 


備 考 





す ず 


丫 


ず で' '! 1 




リ 1 


オペ レ一シ ヨン コード :525 


1 


しじ" 

(論理 チニッ 


番号) 


(ぉぉ,め 

サ | 




お 1 
八 づ「 




2 


し 0^031 ^ 


1 I I 

10^ ^ぉほぉ…^① 




論理 ブロック ァ ドレス 

ビットが' 'のとき、 
1 はすべ て にす る 二 と ノ 


3 


し ま 31 8100^ ^づづ「655 


4 


し も 031 8100^ 八づづ 「655 


5 


し ま 31 8100^ 八づ づ「655 (し 58〗 


6 










1111 






8 


V 


1 1 1 
(只 656「\/6^1) 




圖 




9 


V 


(只 656「\^ づ) 


闩38 


しほ 





? 1^1(^3^131 リ6 めリ巾 I [! ^10310 ?') , 

で': 返される ブロック アドレスと ブロ ック長 データ は ュニッ 卜 の 最終 プロ ッ クの 情報で ある。 

1.021031 8100^ ^ぉ「6ぉ はすべ て にす る こと。 
リ': 返される ブロック アドレス は, 指定され たし 08 比 31 810 ゆ 化 01「655 以降で 実質に 使用で き る 

最終 ブロ ッ クのァ ドレスと なる。 



03 



5051 



譬図 …… 31 卩巳八 じ 八 口 八 じ I 丁 V データ 



太— 

串 5 送 順厂予 


13117 ! 6 ! 5 | 4 | 3 ! ; 


! 1 ! 61*0 


備 考 





し 0〇 ヒ 31 8100^ ^づ^ !^ミミぐ!^已已) 




1 


II 


1 I 


論理 ブロ ック アドレス 


2 


〃 




つ 

6 


〃 


(ほ) 




4 


8100^ し 606^1 (!^) 




5 


11111 
〃 




ブロック 長 (バイ ト 単位) 


6 


11 






~ ^ —— 1 —— ^ ~ ^ 

〃 1 


し 印) 





00^ 



拡張 ^曰 八 コマンド (オペレーション コード 328〉 



コマンド フォーマット を 図 32 に 示します。 尺 2 八!) コマンド を& 張して, より 大きな ブロッ 
ク 番号と 転送 ブロ ッ ク数 をす 旨定 でき るよう に した ものです。 
率 云 ^噴 序 1 の 尺 』 八 (^は, 最後に アクセスした ブロック番号からの 相対値で ある こと を 示 
相対値に する 場合に は' 1 'にします。 



き 図 …… 32 ま 広 張 口 巳ム コマンド 



転送 順序 



0, ず '! 



し 11^ 

(論理 孑ニッ け 番号) 



1 ず 



(!^び^ め 



ほ 61 
八 〔1「 



し 0〇 ヒ 31 8100^ 八ぉ「655 ^585 



し 0ほ に 31 810^ ^づづ 「655 



し 00X31 8100^ 六づづ「655 



し もじ 31 8100^ ^づづ厂655 〔 し 58^ 



(^656^V6^I) 



丁 「305 お 「 し 60 お II ^58〕 



丁 「305于6「 し (し ミ已) 



円お 



し她 



備 考 



才 ペレ一 シ ヨン コ一 ド :ぉ28 



読み 始める 

ブロ ックァ ドレス 



(将来 拡張 用) 



読み出す ブロック 数 



05 



拡張 \^ 円 I 丁 日 コマンド (オペレーション コード 多 2 八) 



コマンド フォー マツ トは図 3 3 のように なって います 。拡張!^: 八 コマンドと 同様, より 大 
きな プロ ッ ク 番号と, 書き込み ブロ ッ ク数を 指定で き るよう にした ものです。 



,図 …… 33 拡張 ^ ^丁 匚 コマンド 



転送 順序 



'0' 



(論理- 



| 卜 番号) 



1 



,0, 



(お 56「ソ6め 



1 1 



ぉ1 

胁 



し 08 に 31 8100^ 八 0^「655 ^58; 



し ま 31 8100^ 八づ づ「653 



し おじ 31 8100^ ^0)1*655 



し 08 に 31 8100^ 八 0101「635 〈 し 58》 



丁 「3115 干 6「 し^ ぼ !:卜 (^ら已) 



丁 「305 お 「 し 60 ま II (し 58】 



〔 86561^6 づ) 



「お 



し は 



備 考 



才 ペレ一 シ ヨン コード: 52;\ 



害き 込み を 開始す る 
ブロ ック アドレス 



(将来 拡張 用) 



書き込み を 行- 
プロ ック数 



7 



ステータス バイト 



5 八 51 では, ステータス バイ ト (ステータス フェーズで 渡される データ) は 300 力、' 正常と いう 
以外, 特別な 規定がなかった のです が, 3 じ 31 ではよ く 使用され る ものに ついて, コードの 割り 
振り 力 5 、 决 めら れ ました。 501 ページの 図 34 に ステータス バイ トの 内容 を 示します。 

ビッ ト 1 から ビッ ト 4 までが 5じ51 で 規定され ている ステータス バイ ト コードです。 これら 
の 内容 は, 次のように なって います。 



5051 



図 …… 34 ステータス バイ 卜の フォー マツ ト 



6117 6 5 4 


3 2 1 1)110 


8 




ん 




の 


ソ 3 



将来 拡張 用 



任意に 使用 可 



ステータス ノ、' ィ ト: 

0000: 000^ 



ド' 



0001 : 0^160^ 00001111011 
0010: 000^1011 1^/(300 づ 

0100: 8リ5乂 

1000: 10 お 「巾 6づ13 お/ 600づ 

1010: 10 お 17116(11316/0011 づは 1011 ^61/000^ 
1100: ^656^/3*100 0011^1101 



00001 

タ一 ゲッ トは 正常に コ マン ド 処理 を 終了した 
01160^ 0011(1111011 

センス データに 反映させる エラ一, 例外, 異常 状態な ど 力 3 起こった。 この ステータス を 受け 

取った 場合, イニシエータ は, 1^2(31125 丁 32X32 コマンド を 使って, センス データ を 受け 
取らなくて はならない 

0000111:100 

サーチ コマンドで データ カズ 見つかった ときに 返される。 —論理 ブロック アドレス は, センス デ 
—タ (!^^じ^;さ 丁 55^32 コマンド を 発行した ときの 返答 データ〉 で わかる 
8 リ 5 ソ 

ターゲット は ビジ一 である 。イニシエータ は, しばらく 侍って から, コマンド を 再発 行す る 
ことで 回復で きる (かもしれ ない) 

||11:6「1116 づ 13 お 

コ マン ドの 連続 実行 機能 (コマンドの コントロール バイトの し 10^ フラグ を 立てる) を 使用し 

たと きの コマ ン ド処! ^了 メ ッ セージと して 返答され る 

^656^31:100 001111101: 

キ旨定 した ドライブ は, 他の イニシエータから リザーブされ ている 状態で あり, 解除され る ま 

で 使用 不可能で ある (通常, X 68000 の 5051 システム では イニシエータ となる の は X 68000 
だけな ので, これが 返って くる こと はない) 

01:60^ 03110111:100 力; 返って きた ときには, 必ず その 直後に!^; 01125 丁 52X32 コマンド 
を 発行す る 必要が あ り ます。 大方の 5じ51 デバ ィ スは 受け取る まで, 只 201)25 丁 521^152 以 



501 



外の コマ ン ドは 実行され なくなって しまうよ うです。 

また, ドライ ブがリ セ ッ ト された り, 電源 を 0^/0?? される と, 最初の コ マン ド に対する 

応答 は 必ず 016 は 0011(1111011 となり ます。 



センス データ 



^200287 52^52 コ マン ド に対する 応答と して 返される センス データ は, 相当の 
4 バイ ト データで は少々 情報 不足で あると いう ことから, 5 じ 51 では あらたに 拡張 型 センス デ 
ータ フォー マツ トを 定め ま した。 

拡張 型 センス データの フォー マツ トを図 35 に 示します。 先頭 バイ トの 下位 7 ビッ トカ^ 70 
であると き, 拡張 型セ ンス データで ある こと を 示し ま す。 



図 …… 35 拡張 型 センス データの フォーマット 



転送 順序 


6117 


6 


5 


4 


3 


2 1 1)110 


備 考 





V 


'卜 


卞 


'!' 


で' 


1 1 で, 1 1 


拡張 センス データで ある こと を 示す 


1 






セ 


グメ 二 


一 卜! 




00^ 1 じ0 田; 33「6, 00^ & ッ6 「け乂 の 異常終了 
時, 実行中の セグメント 番号 を 示す 


2 




圆 


III 


ゆ) 




ヒン スキ一 




3 


ィ 


ンフ 


オメ- 


― シ 三 


ョ ン バイ ト (上位) 


ィ ンフ オメ一 シ ョ ン バイ ト 


4 


〃 


5 


〃 


6 


インフォ メ一シ ヨン バイ ト (下位) 


7 


追加 センス データ 長 




8 〜! 1+ 7 


追加 センス データ 





V (^!!め: インフォメーション バイ 卜の 内容が 有効な とき' 卜 

「[^(「リ 6 1^ 3 「リ: シーケンシャル アクセス デバイスのと き, フ アイ ル マークが 検出され たこ と を 示す 
巳 01 ^([お す リ6 り 1リ^0: II 媒体の 終了が 〃 

111(11100^601: し 608^1 !ぉ汜ョ^)!"): デ一 タブ ロック 長の 不一 致が 検出され たこと を 示す 
(ほ): リザ一 ブ 将来 拡張 用 



502 



5051 



センス データの 転送 順序 2 の 下位 4 ビッ 卜 は センス キーと 呼ばれる データで, これによ つて, 
その センス データが どのような ものである のか を 示します。 センス キーの 値と, その 内容との 
対応 は 図 36 のように なって います。 また, 図 37 と 図 38 に, それぞれ 112 八 コマンドと 
,尺 I 丁 2 コ マン ドで 発生す る^ 8 的な エラーと, それに 対応す る センス キー を 示します ので 参 
考 にして ください。 



図 …… 36 センス キーと 内容 



センス キー 値 


名 称 


内 容 


80 


|\|0 56056 


特有の センス キー はない 


^1 


!^6じ0ソ6「6。 匚 「「0 厂 


最後に 与えられた コ マン ドがリ カノく リ 動作に よ り 正常終了した 


82 


1^01 ほ 63 勿 


指定され た ュニッ ト は アクセス 可能な 状態で はない 


53 


1^6 づ 1 リ^) 巳 「「0「 


媒体の 欠陥 や 記録され た データの 異常に よる 回復不可能な エラー 


54 


43「1^3「6 巳 「「0「 


回復不可能な ハ一 ドウ I ァ エラー 
(コントローラ, デバイスの 故障な ど) 


55 


1116631 ^60511631: 


コ マン ドゃ パラメータに 不正な 値が 検出 さ れた 


56 


リ 。は 八せ 601100 


メ ディ ァの 入れ替え ゃュニ ットの リセット が 行われた 


57 


03 ね 卩「01:6 は 


プロ テク 卜 された 領域に リ一 ド/ ライ 卜しよう とした 


58 


613^ 01160^ 


読み出し 中に ブラ ンク 領域に なった 2 
書き込み 中に ブランクで なし 、領域 に な つ た パ 


る 9 


ソ6 门爿 0「 11 10116 


ベンダ (メーカ) ごと に 自由に 使用 可 


8^ 


00(3 乂 ^1)0116^ 


00^ じ0 门卩 3「6, 〇0 口 V 6 ソ6 「! 干ソ コマンド カくデ ノヽ' イス 異常 (二より 中止し 

た 


58 


^!30「で6。 00^1013 门 


ターゲット はコ マン ドの 実行 を 異常終了した 


50 


已 0)1)31 


3631-0^1 コマンド で一 致 を 検出 し た 


50 


V。! リ 16 0ソ6 「チ 10〜 


デ 一夕が バッ ファに 残って いるのに, デバイス は 最終 ブロ ッ ク に 達 
してし まった 


3 ビ 


^1500111 133 !' 6 


ソース データ とメ ディ ァ から 読み出した データが一 致しない 


5「 


(只 656「\^6 づ) 


(将来 拡張 用) 



氺1: 追記 型 デバイス のとき 

水2: シーケンシャル アクセス デ バイ ス のとき (リ 丁な ど) 



図 -.… 37 ?^: 八 コ マン ド に対する センス キー 値 



状 5 兄 


センス データ 中の センス キ 一値 


無効な プロ ックァ ドレス を 指定した 

タ 一ゲッ トが リセット さ れた り , メ ディ ァの 交換が 行われた 

回復不可能な リード エラー 

回復可能な リ 一ドエラ一 

才一 バー ラン/ リ トライで 救済で きる エラ一 


|||6@31 一 651 (最初に 異常に なった ブロック アドレス も 返される) 
1)1111: ^611110^ 
^61^1^^1 巳 「「0「 
^6じ0ッ6「6づ 「0「 
八ヒ 0「16 づ 00 101311(1 



503 



図 …… 38 ^ ^丁 巳 コ マン ド に対する センス キー 値 



状 況 


センス データ 中の センス キー 


無効な プロ ック アドレス を 指定 し た 

タ一 ゲッ 卜が リセット されたり, メディアの 交換が 行われた 

オーバーラン/ リ トライで 救済で きる エラ一 


11—1 帥 651 (最初に 異常と なった ブロック アドレス カ^され る) 

リ。 は み廿6 ま" 

八 じ0「1:6 づ 00^117130(1 




スッ セーシ 丁ータ 



3 八 51 のメ ッ セージ は, たんに コ マン ド処理 の 最後に 送られる データと いう ム!] 1 の 役目 は あ 
り ませんで したが, 5051 では メ ッ セージの 意味 力、' 拡張さ^ それに ともなって 主要な メ ッセー 
ジ について はコー ドの 規定が 行われ ま した。 図 39 に 3 じ 51 で 規定され ている メッセージ デー 
タの 一覧 を 示します。 



図 …… 39 メッセージ データ 



コ— ド 


必須 (い) 
オプション は) 


名 称 


1/0 


備 考 


300 


IV! 


001111113 门づ 00^11^161:6 




コ マン ド 実行 完了 


501 





巳 れ6 门づ 6 づ ^6583@6 


1/0 


拡張 メ ッ セージの 1 パ' ィ ト 目 


302 





53ッ6 03 ね ^0!01:6「 




カレン ト データ ポインタの 退避 要求 


503 





尺 65 ね 「6 ? 01 门 セ6「5 




退避 し ていた データ ポインタ の 復帰 


304 





0150011 ?1601 




ター ゲッ ト からの バス 結合 中断 通知 


505 


〇 


1 ま 13 ね 「 06160(6(1 已 「「0「 





イニシエータ は エラ一 を 検出した 


806 





^011 





夕— ゲッ 卜の 入出力 動作 をク リ ァ する 


507 





^16553^6 お 】6 は 


1/0 


受け取った メ ッ セージ は サボ一 ト されて いない 


308 





1^0 0^6 !' 31:!011 





な んら 有効な メッセ一 ジ を 保持 していない 







^6553^6 卩3「1 か & 「0「 





メ ッ セージ 受信 中に パリティ エラ一 を 検出した 


辑 





し^お 0010 國 (! 00^^616 




リンク 付きで フラグ 二 '!) 'の コマンドの 処理が 正常終了した 


308 





11(11(6(1 001^6ぉー1111 




II フラグ 二 'ド II 


300 





5115 06 ま 6 ^6361 





バス 上で 動作 中/保留 中の すべての 入出力 動作 をク リ ァ 


500〜37 ド 




(只 656「ソ6 づ 00(1 651 




(将来 拡張 用) 


380 〜が ド 





1(^6(1 1:1 于乂 


1/0 


イニシエータ とタ一 ゲッ ト 間の 入出力 パスの 設定 



504 



5051 



か1 10 日! \1 丁 『V メッセージ 



102^ [丁 1?1 メッセージ では, 図 40 のように ビッ トの 割り振り 力 3 ' 行われて います。 セレ クシ 
ョ ン フェーズ 直後の メ ッ セージ ァゥ ト フェーズで, ター ゲッ トカ 《ディ ス コネ ク ト処理 を 行って 
よ レ 、 か 否かの 選択 を 行う のに 使用され ます。 



き 図 …… 40 105 ^丁 『V メッセージ 



リ' 







しじ^ 



015001111601; 卩「ん;16^6 言 翁 5 里 ユニット 番号 
1 : ターゲット は ディスコネクト 処理 を 行って よい 

0: II はならない 



2 拡張 メッセージ 



コード 301 の 2乂 丁 !;]^!^!) 皿253 八 02 は, 複数 バイ 卜に わたる 拡張 メッセージ である' 
と を 示す コードです。 拡張 メッセージの フォー マツ トは図 41 のように なって います。 



図 …… 41 拡張 メッセージの フォーマット 



転送 順序 


値 


備 考 





501 


拡張 メ ッ セージで ある こと を 示す 


1 




拡張 メ ッ セージ 長 


2 




拡張 メ ッセ一 ジコ一 ド 


3 〜^十 1 




拡張 メ ッ セージ ァ一ギ ュメン ト 



ぉ1 の 301 に 続く データで, 拡張 メ ッ セージの メ ッ セージ コード 以降の バイ ト数を 示します。 
転 ^頃 序 2 の データが メ ッ セージの 稱 リ を!^ !1 する ための 拡張 メ ッ セージ コード, それ 以降 は 
拡張 メ ッ セージに 付随す る ァーギ ュメン ト となって います。 拡張 メ ッ セージ コード は 506 ベー 
ジの図 42 のよう に 割 り 振られて います。 



505 



図 …一 42 拡張 メッセージ コード 



コード 


名 称 


1/0 


備 考 


800 


ぃ0 づけ 乂 03 ね I 3 。!!! お 「 




カレン ト データ ポインタの 値 を 増減す る 


801 


5 VII じ 卜 「0(10 リ 5 

丁 「3115 于 6「 ^69リ651: 


1/0 


同期 転送 用の パラメータ 定義 


502 


6(1611(16 づ 1づ6111:1 于乂 


1/0 


!ぉ曲 むメ ッ セージの し リ^) を 拡張する 


^03 〜本 7 ド 


(ぉ^化 め 




(将来 拡張 用) 




(化!!き リ啊リ 6〉 




各 デバイス ごとに 自由 に 定義 可 



01 



1\;1001「 丫 八丁 八 ?011\1 丁已 8 メッセージ 



メッセージの フォー マツ トは図 43 のように なって います。 ター ゲッ 卜から イニシエータに 
対して, 現在の ポインタの 値 を アーギュメントて '禾 される 分 だけ 増;' 成します。 アーギュメント 
は 2 の 補数 表現です。 

ポインタに は, コマンド ポインタ, データ ポインタ, ステータス ポインタの 3311 力 5 "^ 定さ 
れ ており, コ マン ドボイ ン タはコ マン ド 列の 勉见 データ ボイ ンタゃ ステータス ボイ ンタ はテ' 
ータゃ ステータス のす & !內 位置 を 示 します。 



図 …… 43 1\^001 「丫 0厶 丁 ゑ ! 3 。^ 丁巳卩 メッセージ 



転送 順序 


デ— タ 


備 考 





301 


拡張 メ ッ セージで ある こと を 示す 


1 


505 


拡張 メ ッ セージ 長 


2 




お 0づ! む 03 ね ? 0|0ぉ 「メ ッセ一 ジ 


3 


データ 上位 




4 




データ ポインタの 移動 量 


5 




符号 付き 2 進数 
〈 2 の 補数 表記) 


6 


データ 下位 



02 5 丫! \101601\10リ5 八丁 八 丁 8 八! \15ド 曰 8 

(同期 データ 転送 要求) メッセージ 

3 じ 51 では, 3 八 31 と 同様の!^: 13- 八 (:正 ハンドシェーク による 転送の ほか, ^じ1 く を 侍たず 
に !^;り 信号 を 連続 して 変化させる こ と で データ を 先行 して 送って しまう 同期 転送 機能の 規定 
が 行われ ま したに の 機能 は オプションです)。 これによ つて, データの 転^! 度 を 大幅に 向上 



506 



5051 



させる こと 力 《可能と な り ます。 残念ながら, X 68000 に 使 片1 されて いる 3じ51 コ ン ト ローラ, 
1^689352 は 同期 転送 モー ドをサ ポー ト していません ので, この メ ッ セージ は 使用で き ません。 
データ 転送の 際に この モー ドを 指定す るの 力 《 同期 データ 転送 要求 メ ッ セージです。 メ ッセー 
ジの フォー マツ トを図 44 に 示します。 転^) 噴 序 3 で 転送の 周期 を 指定し ます。 転送 順序 4 の 
八 (:に オフ セッ ト というの は, 先行して 送る ことができる データの 数 を 示す ものです。 た 
とえば, この 値が 4 であるなら, 八 (: ^力ぶ 返って こなくても, 4 回 〈4 バイト) の データ 転送が 
行われる ことにな り ます。 

肇図 …… 44 同期 データ 転送 要求 メッセージ 



転送 順序 


データ 


備 考 





501 


拡張 メ ッ セージで ある こと を 示す 


1 


302 


拡張 メ ッ セージ 長 


2 


802 


^611036^ 1 づ 6 门 1 け ヅメ' ン セ——シ 


3 


X 


サブ 論理 ュニッ ト 番号 



03 



巳 X 丁已! \10 日 10 巴! \1 丁 1「 丫 メッセージ 



通常, コ マン ドで 寸旨定 でき る 論理 ュニッ ト 番号 は から 7 までで あるた め, 1 つの ター ゲッ 
卜の 下に は 論理 ュニッ トを 8 台まで つなぐ ことができる ようになって います。 これ を さらに 拡 
3 長す るの 力 5 ', この メッセージです。 メッセージの フォーマット は 図 45 のように なって います。 
この メ ッ セージで 与えられた 8 ビッ 卜の サブ 論理 ュニッ ト 番号と コ マン ドの 中に ある 3 ビッ 
ト の 論理 ュニ ット 番号と を 組み合わせて 最ナ 2048 台 ま での 論理 ュニ ッ ト を 指定す る こと がで 
きる ようになります。 



図 …一 45 5:乂 丁 ^1\106;0 10 ビ^ 丁 I ド丫 メッセージ 



転送 順序 


データ 


備 考 





501 


拡張 メ ッセ一 ジ である こと を 示す 


1 


503 


拡張 メ ッ セージ 長 


2 


301 


5 乂门き 。隱 5 03 ね 丁 「3ま「 [^リ 651 メッセ一 ジ 


3 




転送 周期 は み)) 


4 




オフ セッ ト 



^1101 3 0681^ の 5 じ 51 ドライバ は 論理 ュニッ ト 番号 を 使用して いません ので, この メッセ 一 

ジも 使用され る こと はあり ません。 




サンプル プログラム 



5051 ディスク か ら 指定 した ブロック を 読み出す サ ン プル プロ グラム を 作成して みまし た。 
第 1 引き数で アクセス する ブロック番号, 第 2 引き数で アクセス する 5じ51 ディ スクの 10 番 
号 を 指定し ます。 弓 I き 数が 省略され た 場合に は, それぞれ として 扱われます。 

なお, この サンプル では, ブロック サイズ は 512 バイト, 5(^51 インタフェース はじ 2-685 
1 である ものと しています。 ブロック サイズが 5 1 2 バイト 以外で あ る 場合に は 811?5121: の 値 
を, 5 じ 51 内蔵 タイプの とき は 印じ の 値 を 適宜 変更して く ださい。 

參 リス ト 一… 1 5051 ディスクからの 指定 ブロック 読み出し 

卜 

ホ 3 (: 3 I ハ一 ド ディ スク アクセス テスト 
幸 

氺 《じ では 乂01れ116 がサ ポー ト されて いないため、 
ホ 次の 一行 を 入れて 乂 131116 を 無効に してく ださい 

# #0(6^106 乂0131;116 



#1110111(16 ^031 15. ヒ〉 




3111101 1)1^1^20 | 




1111312116(5 


01131 


031 ; 


111181^6(1 




06^; 


1111518116(1 


811011 


31)3161 ; 


111131^6(1 


01131 


お ; 


1111318116(1 


01131 


001; 


1111318116(1 


01131 


501 ; 


111181^6(1 


011 & I 


00^; 


111181^6(1 


311011 


51)3162 ; 


1111318116(1 


3110 1*1: 


ま; 


1111518116(1 


01131 


ネ 1113 で; 


1111818116(1 


10118 


8^1-63; 



5051 



1X11312116(1 


01131 


^31 ; 


111131^6(1 


51101:1; 




1111312116(1 


511011: 


51:0; 


1111518116(1 


01131 




1111318116(1 


10118 




1111318116(3 


01131 


81)3166; 


1111318116(1 


01131 


11^; 




01131 




111151^116(1 


01131 


6^; 


1111318116(1 






1111818116(1 




ま; 


11^81^116(1 




3^)3169; 


111151^6(1 


01131 


51)31610 ; 


111131^6(1 


あ! 1 




1111518116(1 


5 ヒ 01^ 


8^31611 ; 


1111318116(1 






1111316116(1 


01131 


ま 


1111312116(1 


10118 


; 


1111818116(1 


311011: 


5^31614 ; 


は 1181 2 ひ 6(1 


011 & I 


3 口 1*615 ; 


1111512116(1 


0113 !' 


ヒな; 


1111312116(1 


10118 


3^1*616 ; 


1111318116(1 




3^)31617 ; 


111151^6(1 


あ]" 


『; 



乂0131116 5111101; 隱 8(5 ^13; 



111131^16(1 


01131 




1111818116(1 


01131 


5(11(1; 


1111318116(1 


ぁ!" 


丽 1; 


11118 18 ひ 6(1 


はれ 


5011 ; 


111151^6(1 


01131 


服!^ 2; 


1111318116(1 




50111(1; 


1111318116(1 


5110 1*1 


画 丫4; 


1111518116(1 


訂 


画 丫3 ; 


111131^6(1 


0ま 


1111:5; 


111181^6(1 




丽 5; 


1111818116(1 


011 & I 


138115; 


1111512116(1 


011 & I 


1)11^6; 


1111318116(1 




3518; 


1111318116(1 


ぁで 




1111518116(1 


01131 


8611; 



509 



111131^6(1 


01131 


画 78; 


111131^116(1 


01131 


ま 1 ; 


1111318116(1 


ぁで 


丽 9; 


は 113 1806(1 


01131 


まに 


111181^6(1 




丽 10; 


1111318116(1 


01131 


(!卿; 


1111518116(1 




麵 VII ; 


111131^6(1 


01131 


16111?; 


111131^6(1 


あて 




111131^6(1 


01131 


IX に 


1111318116(1 


01131 


丽 13; 


1111318116(1 


あで 


1:0111; 


111151^6(1 


011 &!' 


丽 14; 


1111312^6(1 


01131 


1x1 ; 



ソ013^16 311-1101 3?0820 ぉ卯 ; 

耐 1116 8 願 28 0x200 

1111318116(3 01131 (! 1 3^11! ^11?5 1 26 ;]; 

#づ6 ぞ 1116 ? 5^—8^ 0x80 
兽北;^服 ? 3X53(1 0x40 
#ぉ む 116 ? 5^53115?852 0x00 
#36 で 1れ6 ? 5^3.37^7113 0x05 
#(161'106 ? 5X5^53^02 0x0 ぞ 
#^106 ? 3^5.00^1^10 0x03 

#^1116 ? 071^1/^.1 1^1 0x1 

#6611116 ? 0X1.00^1^0 0x2 
#^1116 ? 071.37^705 0x3 

#^1116 ? 071.^55^02 0x7 

#^1116 50^3216;07 0x20 

#^1116 30 編 —な 乙^! 0x64 
#^1116 な腿— 8655 了 3(1 0X04 

#は61~1116 3040^1^15^8 0x80 

#ヒ6ぞ1116 ぽ 『3^)1500 題 5X7 0x20 
#^1116 11^75.00^1272 0x10 

#66*1116 3375 議』 薦 0x01 



ソ。!!^ 11131 110 ; 

V01(1 5031 5118^1660 



5051 



乂016 803 1^1111:3^311 ; 

ゾ。" 5081^11336^311; ; 

乂01づ 3081^561601: ; 

ソ。" 503 1^86^^00111111311(1 ; 

ソ。!^ 5031—3611(1—3—1^1:60; 

ソ。" 3031 一 (! 13 一 !^^^!^!^〉 ; 

ソひ川 じ リぞぞ已! 1 — ぉ3110 ; 

1111812116(1 1111: 805 1^61.5 1: & 1113 ; 

111181^6(1 1111 503 1^6^111633326 ; 

"! 13181)6(1 1111 3051^61^0^^0 ; 

701(1 き— 361111)0 ; 

701(1 ^1113—51:3 で 1:0 ; 

乂01ヒ ^1113^3 10? ; 

乂。^ V & 11; 一 001111)1 は 60 ; 

ソ。" 01631 & ?0 ; 



乂ひ丄づ 1113111(31:80, ョでさ乂) 
1111; 31^0; 
01131 ホ 31^乂〔〕 ; 

111131^116(1 1111 1. 」, 16. ヒ1!^ー 110, わ 1 化 ― 11, 1)1 お— 111, ヒ 1 乂 ― 1 : 
111131^6(1 01131 0; 
け (& 180 〉: 2〉 

51^110 : 3101 (訂^ 丄]) ; 
6156 1)1 化— 110 = 0; 
は 120 〉: 3〉 

1(1 二 3101 "!^ 乂じ]) ; 
6186 1(1 二 0; 
^?^印) ; 

81)0 : お け リ" 3? 0820 ^0x6 & 0000; 
き : (ま ま 画 15 ^0x684040; 
さ^-ン^川 : 0x7; 
3^ -〉 301:1 二 0x10; 
51^1 ^ 1)1^110 & 0パた 
1)11111 : (ヒ丄 し。 》 8〕 & 0x1^; 
1)10 : 0)1 し 110 〉〉 16〉 & 0x^; 

び1111: バ" 8100^# : ^^(^乂) は 02乂:加2乂102幻 0ま6 : 論", 

じ11 110, ヒ1し 110, 51 ^ じ 1 に 111, "に 1, 川); 
131-1111:! ("ョひミ ? 166^11 〉 ; 

303 し 561 ば" 1(0 ; 
5)11111;^ ("。。腿 & ま!! 〉 ; 



511 



3031 一 3611(1 一 00111111311(1 〈8, ^!^. ゎ1 殳 ― 1, 1. 0〕 ; 
^11111^ ("! 531:3 〉 ; 
8081 一 (! &!; 3 一 1;1^115 で 6 で ; 

口]: 1111; で 〈 5131113 : 9^02ズ , ミ!^も!^ぐ)) ; 

? !^!^ ^658^6 3 幼2乂?1 !", 8は』688 站 ィ" ; 

^01 〈1=0; 1 く 811?312 ョ; ひ^バ。) \ 
? 01 0=0; 〗 く 0x10; ^十) 

口!" 1ひ1; で ("髓 ",(!ぉ!^ ば [ひ』]); 
^01 0=0; 』 く 0x10: れ十) | 

け く 0x20〉 1 1 ひ 沁 0X60 1 1 (な 、: 0x80 && ^ く (^!)))) 

ぐ 'ノ' 〉 ; 

6156 1^1 1)1^ ("?^! :", 51(1311? 〔1+ : !]) ; 
が 111 ば ("ざ:!") ; 



V016 8081 一 1)118 で 1*660 

3031.^36^31 1 (?ミ^ —冊 5?8 ぼ) ; 

1^ (ミ が-〉 111 む & I 訂 5—01^0 丽 20 丁〉 
3 が-〉 1111:3 : 1^175.1)1300^07; 



乂01^ 8081^1111:3^311; ((!^!) 
111151^6(1 1111 6^1 ; 

や] 1116(1 〔3^: —〉 11115 & おり) 

81)0 —〉 1れ1;8 : & 3.1; 

111131^6(1 0^1 & I ?11 & 56; 
^11 6 ひ が-〉 口 3113 卜 卩 おお) 

I 

乂ひ丄^ 5031^361601 ([(!) 

1111312116(1 1111: 1(1: 

3 口 0-〉161!1 リ ^ (! くく [(!) | (叩。- ^づ川〉 : 



512 



5051 



, -〉 1x11 二 0; 

, -〉 1X111 二 0; 

印に〉!:" 二 3 ; 

3に 〉 口!:" ~ 0; 

叩 (:— ^^(! ^ 301^0.521207; 

5。5 し 1111:5 —酡 11(1 訂 3—001^? し^ ョ) ; 

1 

乂。" 803 1^5611(1^00111111 & 11(1 (^!, 口 2, 口 3, 口 4, ロ5, が) 
1111312116(1 1111: 口 1, ジ2, 口 3, ジ4, ロ5, ジ6 ; 

1111318116(1 (:ヒさで 931^111 〔0」 ; 
!331:3111【0」 二 ? 1; 
ロ3!^111【1〕 二 1)2; 
&で 3111〔2〕 二 1)3; 
1)3 3111〔3」 : 口 4; 
ジ31:3111〔4」 : ? 5; 
1)31*3111 [; 3」 二 ^6; 
01 6 & 1^1 380 ; 

(!爪さ— ョ^もひジひ, ^!^, & 〈5 口 (:一 ンづ!^さ) , 6〉 ; 

5ジ0 —〉 1x11 : 0; 

3^ -〉 1X111 二 ; 

3 に〉 1x1 二 6 ; 

31)0-^01:1 : ? は— じ0 匪 冊; 

叩 (:— バ^づ : 30醫ー 丁 8 歲 5?ョ8; 

8031^11 & 56 11(^5.00^0 | に 孤の : 
±113 一 81 &] :セ ; 

11^001111)1 616 ; 
3051.1111:3^ & 11 (!^.^?^) ; 



1111312116(1 1111 1; 
016 & 1*^1320 ; 

曲3ー 5611^(1, が 3 ^^, & お が- 〉 ぉ 6 力, 8 リ? 312 お); 

3 ロケ〉^ 11 : (變 5128 〉〉 16】 & 0x1^; 

^一〉 1X111 : (^^^ 〉〉 85 & 0ズ 付; 

3が -〉 1x1 : 811?5122 & 0x^1; 

3 が-〉 1x11 : ? 071.041^1^; 

5卯ー 〉 がま ^ 501^—18^5?^; 

80513^^61^311 ; 
^1113 815111 ; 



513 



ま 1—00 即 1 は 60 ; 

3031 1壯 3 ー 酡" (^"― じ0, し 21。; 



乂01^ 3031 一 1)11:? で 61: 一 呢狂1 1:0 

^116(81)0^3315 & 53 丁 3—01? き—^!? 丁丫) 



1111812116(1 1111 3031^61:^8131:115 
8^0-^011 : ? は 一 57 扁; 

お 3 ひ "ヌ^ 3ー 5 丽 5 I ?】 5—8^〉; 

!^!:リ!::^^じミ丄— さ^セ— ほ— ゎゲ !:已ぐ〉) ; 
1111318116(1 1111 503 1^6 1.111635386 

81)0-^01:1 : ?ほ, 3 職 

^3 し! ±356—^11(53^31253^5 I 3ー ぉ!^); 

111^(5031—861—3 一 ヒ^!:^く)) ; 



1111518116(1 1111 86^—3—1^160 

111131^6(1 1111 ^1; 

^116 (!^^- 〉り5113 & 5 一鶴) 

(! & I 二 〉16111 口; 

3が -〉 3^ : 謂 一 ま ー擺; 

ま" 6 (ョ^ - ル叫 3 & 一,) 

5 が-〉 ぱ^ : ^酚— 仏 X; 

^116(3^0-^5118 & 3ー 六は) 
16111111 ((!^) ; 



V。 川 ^111^861 II? ((!!]:, ^ ^ ^!!) 
111151^6(1 11)1 (!丄 !", 1611; 
1111312116(1 0ヒ3 で ^ ^3; 



514 



5051 



(! 腿-〉 ヒび : 0x80; 

^^001 : 0x31 | (((!^ & 0x0 くく ?); 

^ー)^。!" 二 0x04; 

は1!13- 〉。。 で 二 0x00; 

、(^で 二 0x08; 

〉111 で : 0x05; 

(!腿 -〉 4 れ : 0x05; 

づ 〉1!11;じ 二 1611; 

(!!!^ 一〉 1113 !" 二 1112; 

(!脏ー 〉ぉ1 3 ^3; 



(!!^-乂^ \= 0x80; 

乂。" ^31 1.001115)1 616 

盹^バ!ぉ 脈-〉 031 & 0x90)5 

1 

-〉。 51 : 0\^^ ; 



515 



さ システム ポート 



システム ポートに は, ディスプレイ や キーボード, 電源 。阡 \ 
コントロール など, こまごまとした 周辺 制御 用の 信号が 集め 
られ ています。 ここで は, 各 システム ポートの 内容と, ぞ^ I 

操作 方法に つ I , て 説明し ま す。 



1 



システム ポートの アドレス 配置 



システム ポー ト は, ディ ス プレイの コン トラス トの 設定 や 電源 01^ ダ 0?? 制御な どの サボ- 
トを 行う もので, 6 つの レジスタから 構成され ています。 それぞれの アドレス 配置 は 518 ベ- 
ジの 図 1 のよう になって います。 



01 システム ポート #1 



コンピュータ 画面の コン トラス 卜の 調整 を 行います。 下位 4 ビッ トで 明るさの 度合 力ぐ 决ま り, 

3? が もっとも 明るく, 30 が もっとも 暗くな ります。 ヨ 017130 681^ は, 通常 は 32 で 使用して 

おり, 電源 0?? などのと き はこれ を 使って 画面 を 暗く してから 落ちる ようにし ています。 



517 



図 …… 1 システム ポー ト 



レジスタ # 


ァ ドレス 


じは7| 6 | 5 | 4 


3 1 2 | 1 ; 圖 


備 考 


1 


5^8^001 




【 


:贿 


仏 5 丁 




コ ンピュ 一タ 画面 コ ン トラスト 


2 


5^8^003 






じ 丁 8 し 




30-1 


漏 


一 ^ ― ^ ^ | ノ ノ八れ ― # ^ ― ^ ― ^ ル 1 1 くや ^ 

7 "ィ スフレ 吖 ズ30 ス コ 一 ノ制御 


3 


5 巳 8 巳 005 




カラ- 


-ィメ 


—ジュ 


ニット 


制御 




4 


5 巳 8 已 007 






ぽ丫 
丁 8 し 


顯 


即し 




キー ボ一 ド /凶^ 






5 圆 献 6 ビ 






「01 




3 ^リ 書き込み 制御 


6 


能 8 巳 00 ド 




?0 露 ド 「 じ。 は 「01 


本体 電源 「「制御 



2 システム ポート #2 



ビッ ト 配置 を 図 2 に 示します。 下位 2 ビッ トは オプションの 30 スコープの 制御に 用いられ 
る ものです。 ビット 力く 右目, ビット 1 カ^! 「4 の シャッターに 対応して おり, それぞれ' 1 'に 
なって いると, シャッターが 0?2ド し, 雨 面 力 ゴ 見える ようになります。 

ビッ ト 3 は, 書き込み 時 は ディ ス プレイ 制御 信号, リ 一 ド時は ディ ス プレイの 電源の 0〜 
0?? ステータス として 動作し ます。 この ビッ 卜の 詳細に ついては, キーボードの 説明の ページ 
を 参照して ください。 



図 一… 2 システム ポート 券?ほむぱ") 




1 : 30 スコ ーフ左 シャツ タ 01=0^ 
: II 01056 



^81 丁 5 時 

1: ディスプレイ 制御 信号 を' 1 'にす る 
0: ディ ス プレイ 制御 信号 はキ一 ボ一ド からの 制御 信号と なる 
(通常 動作) 

時 

1: ディスプレイの 電源 は 0「「 
: II 0!^ 



518 



システム ポー ト 



03 システム ポート #3 



システム ポート # 3 は ォプシ ヨンの カラー ィメー ジュニ ッ ト の 制御に 使用 さ れる も のです。 
, こに 書き込んだ 値 は, そのまま 11^ 八 02 IX 端子の 17~21 番 ピン 〈17 がビッ ト 4, 21 がビ 
ト に 対応) に 出力され ます。 



^ システム ポート #4 



ビ ッ ト 配置 は 図 3 のように なって います。 ビット 1 は, ドット クロックの 切 り 替え 時に 使用 
する ものです が, 通常 は で 'のま まにして おきます。 

ビット 2 は, ^1^1 力 《 発生 したと き, の 処理 か 終了 し た 時点で 1 'を 書き込む ビット で 
す。 一度]^] VII 力 3 ' 発生す ると, この ビッ トに 丁 を 書き込まない かぎり, 次の!^] VII が 発生し 
なくなります。 

ビッ ト 3 は, キー ボー ドの (:卩リ の 制御 や キー ボー ド コネクタ 力ぶ 差し込まれて いるか 否かの 
チェック を 行う ものです。 この ビッ トの 詳細 は キーボードの 説明 を 参照して ください。 

參図 …… 3 システム ポート 眷ゅほ^己!)!) 7 ) 





《 [丫 丁 8 し 


圖 呢ョ 


41 





ドット クロック 切り替え 用 

(通常 は' 'に 固定) 

1 : ^^リセ ッ 卜する 
0: II しない 



^81 丁に 時 

1: キー データ 送信 可 
: I! 不可 

陽 時 

1 : キー ジャック (キーボード コネクタ) が 差し込まれ ている 
0: II が 抜かれて いる 



519 



5 



システム ポート #5 



この ポー ト は 5 尺八] VI の 書き込み 許可/禁止 を 制御す る も のです。 511 八] VI にはメ モ リ 容量な 
どの システム 情報^ 動 デバ ィ ス, キー ボー ドの 文字 選択な どの 情報 か 書き込まれる よ う にな 
つてい るた め, プログラム ミスな どが あっても, 容易に 書き 換わらない ようにして おく 必要が 
あり ます。 

このような ことから, 51? 八] V [への 書き込み 保護の ために 設けられ たのが, この ポートです。 
この ポー トに ぉ1 を 書き込む と への 書き込み か 1 午 可に, それ 以外の データ を 書く と 書 
き 込み 禁止に なり ます。 



6 システム ポート #6 



本体の 電源 0?? を 行う ものです。 正面の 電源 スィ ツチ 力 5 ' 0?? になって いると きに, この ポ 
一 ト に 300, 30?, 50? と 順に 書き込む ことで, 本体の 電源 を 0?? にす る ことができ ます。 不 
用意に 電源 か蕃 ちる の を 防ぐ ため, この 順序で 書き込まなければ 働かない よう になって います。 

本 # ^面の 電源 ス ィ ッ チが 0?? になる と, 1\1ド? の 〇?1? 2 の 割 リ 込みが 発生 します ので, 
通常 はこの 割り込み 処理の 中で この ポー ト を 操作して 電源 を 落とします。 実験す る とき は, 
0?1? 2 の 割り込み を 禁止 しないと, 電源 スィッチ を 0?? にした とたん, II 皿 13068に の電 
源 0?? 処理 力 5 ' 働いて し まいます ので 注意 して く ださい。 



520 



厄介な 仕事 を 引 き 受けて しまった もの だとい まさら ながら 思って います (私の つたない 説明 
を 読まされる ほうが もっとたい へんだ ともい える かも しれません が)。 

X 68000 の ハー ドウ ヱァに 触れた 本 は, 1987 年に X 68000 が 発売され て 1 年く らいの 問 は 
数冊あった ような のです が, これら はすで に 糸 6)15 になって しまった らしく, いまでは 書店に 行 
つても, まったく 見当たりません。 X 68000 ユーザの 数 も 相当い るの だから, また 新しい 解説 
書が どこかから 必ず 出て く るだろう と じっと 待って いたので すが, いつまで たっても 出て く る 
気配が ありません。 そんなと き, 「X 68000 の ハード ゥヱァ 解説書 を 書いて みない か」 という 話 
カ^ きて しまいました。 完成品の 無線機が 買 えなくて キット を 組み立て, 丁 〖-80 カズ 買えなくて I じ 
を 1 つず つ 買い集めて ユニバーサル I 晰で 自作して きた 私に は, 「なければ 自分で つく ら なくて 
はならない」 というの は 宿命と いう ものだった のでしょう 力、。 

自分で やる 以上 は, これまで さんざん 不愉快な 思い を して き た し 51 マニュアルへの 依存 を 断 
ち 切ろう と 決め ま した。 8 ビッ ト II 封弋 からい ままで, いろいろな ハー ドウ エアに 触れて きまし 
たが, 比較的 原始的な 乙 31 ばかりで 構成さ^ しかも ユーザ も 相当数い る はずの 86 系 パソコ 
ンの ハード ゥヱァ 解説書で すら, ていねいに 説明して いるの は じ!1 丁 まわり だけで, ほか はポ 
一 ト アドレス や レジスタの ビッ ト 配置 だけ を # て, 「詳細 は それぞれの し 31 の マニュアル を 
参照して ください」 です ませて しまって いる のが 大多数です。 

これらの 筆者の 方々 はお そ ら く ^の 研究室 や メーカの 研究 ^ 開 ま 結 I 們 など, マニュアル 類 
は 電話 ひとつで 手に入る よ う な 立場に おられる のでし よ う 。 実際に このよう な 職業 上の が 
ない 者が し 31 の マニュアル など を 手に入れよう とすれば, 秋 葉 原の 部品 屋で コピーして もらつ 
たり, 0(3 出版社が 出して いるもの を 注文す るより あり ません い 冊 3000 円 以上す るの が^!, 
どうかす ると 1 万円 以上 とられる こと もあります)。 これらに しても, まだ 見つかれば 好運な ほ 
うで, まったく 手に入らな いこと も 珍しくありません (筆者 も, 今回の 執筆 中, ある 乙 31 の マ 
ニュ アルが どう しても 見つからず, とう とう 展示会の ときに ブースの 方に 泣きつ いて 名刺と 引 
き 換えで もらう という 手段 をと つてし まいました)。 

また, 一度で も 読んだ ことがある 方で したら, よ く ご存じで しょうが, 131 の マニュアル とい 
うの はお- 11!: 辞に も 読みやすい といえる ような ものではありません。 何度 読み返しても, いった 



521 



い 何が いいたい のかよ く わからず, 結局, フ 。ログ ラム をつ く つて 動作 チヱ ック をして いるう ち 
にょう やく 意味が わかる といった こ ともよく ありました。 

し 51 の マニュアルの 内容 を そのまま 勉 15 書き直す よう な こと はとても でき ません 力 5 ', と にか 
く 乙 31 の マニュアルがなくても, なんとかなる^ に は 説明して おく ことにしよう という 方針 
だけ は 決め ま した。 しか し, この 方針 力 3 後で どれ だけ 自分 を 苦 しめる こ と になる 力、, そのと き 
は 想像 もで き ませんで した。 「なんで こんなに やや こ しいんだ ! 」 と, 何]^ I を 抱え込んだ こ と 
か 知れません。 

これまで 86 系 0?じ の ノ、' ソ コンは 仕事 がらみ もあって かな り 扱って いたので, わ りと 軽く 考 
えていた のが 大問 違いでした。 86 系の パソコンの 代表で ある 181^? じ にしても ? 09801 に 
しても, 内部の 1/ デバイス は (:?じ の 能力から すると 信じられない ほど 低 レベルな ものば か 
りです。 64^ 境界 を またいた お 送 すらで きず, (:?リ よりも 低速な ん バンク 切り替え だ 
らけ でよ うやく 16 & しか 出せない グラフ ィ ッ ク VII 八] \1, 1/0 ポー ト にス ピー 力 をつな いだ だ 
けの 音 出力な ど, 8 ビッ トパソ コ ンの じ? II だけ を 載せ 替えた よ う な, その ハー ドウ ヱァお 育 成 
に 知らず知らずのう ちに 惯ら さ;^ パソコンと はそう いう もの だとい う 意識 を 植え付けられて 
しまって いたの かも し;!' しません。 

それらに 比べる と, X 68000 では (:&丁じ, スプ ライト コントローラ, ディスプレイ コント 口 
ーラ, 0]V [ん 500 5 5?0 1 0?!^ ^0?01^ …… , シャープ 力; '独自 開発した 乙 51 もさる こと 
ながら, その他の 匕 51 にしても, 86 系 (:?じ の^^/な パソコンの ものと は 比べ ものに なら 
ない ほど, 高度な ものば かりです。 115-232 (: にしても, 通常 は 非同期 無手順で し 力、 使われな 
い にもかかわらず, あえて データの 変^! 能まで ある 2 85305^^ を 採用して います。 サン 
プリ ング 音源 も いくつもの メーカが さまざまな 方式の もの を 発表して いますが, 沖 電気の 
^0?01^ チップ は サン プリ ン グレートの わり に はかなり 音が よい ほうで あると いう 評価 を受 
けて いると いう 話でした (おかげで 八 の アル ゴリ ズムは 企業 ヰ必密 であると して 教えて 
もらえなかった という ォチ までつ いています) し, ? 1 ] V [音源、 し 51 も, 価格 を 聞いて みると, ャ 
マノ 、が 出 している 各種の ? ^音源し 51 の 中で ももつ とも 高価な もの を 使って いるの です。 

本書 を 執筆す るた めに 集めた 資料 や 情報の メ モ 書きで のこた つの 上 はま さ に 紙の 山と 化 
してし まいました (先 曰, 首都圏 を 襲った 14^ 5 の 地震で この 山 もつ いに 崩れ落ちました)。 

さらに, これらの 各し 51 の 機能の 多 さに 加え, 151 の マニュアルの 読み づら さ, 間違いの 
多 さに も ほと ほと 閉口 させられ ま した。 たとえば, 「浮動小数点 演算 プロセッサ 68881 は 1/0 と 
して 使えます」 といった 説明が あ りながら, 本文で は 68020 に! ^結した ときの 説明ば かりで, 
乂 68000 のよう に 1/0 と して 使った 場合の 具 胃な 例な ど は ほとんど 説明され ていません。 ま 
た, セカンド ソース メーカの 日本語 マニュアル では, 丁 (除算)" などと 堂々 と 書 
いて レ 、る 始末です (加減乗除 という 言葉 を 知ら なかった の だろ う 力り。 セカンド ベンダと はい え, 
仮り にも, これが し 31 メーカの 正式の マニュアル なのです から, ほか はもう 推して 知るべし で 



522 



あとが' き 



しょう (結局, 英文 マニュアル を 人手して 辞書 を 片手に 読む ハメ になって しまいました。 英語 
がで きなかった から 现 系に 進んだ よ う な ものな のに …… 〉。 

X 68000 本体に ついては, 以前 出版され ていた 解説書 も 参考に しつつ, 極力 動作 チェ ッ ク を 
しながら 進めて いたので すが, こちら もところ どころ 動き 力、' 変な ところ 力 5 ' ありました。 どうや 
ら, 初 (^! 力 《 発売され るまでの 問に 仕様 か 変更され たらしい のです。 このよう なと ころ を 見つ 
ける たびに, チヱ ツク^の プログラム をつ くりな おしたり, シンクロ を 持ち出して 信号 を 調べ 
たりと, 大騒ぎに なって いました。 

当初, 遅くとも 年内に は 脱稿す る 予定だった のです が, ?调 ベても, 解決しても' 次から 次へ 
と 現れる 難関と 格闘 (物理的な 難^ ~ ^ 卓で キー ボー ドを 叩いて いると, いつの 間に か 忍び 
寄って いる 娘 (昨年の 6 月 に 生まれた) の 攻撃 を 足で 押 し 返し …… という こと も ありました) 
している うちに 年 も 明け, もう 2 月 。ずいぶん 遅 くな つてし まい, 本当に 申 し 訳な く 思 つてい ま 
す。 

こ れ だけ 時 |!3 を かけた ものの, まだ ま だ 細か レ 、点 を 見れば チ ヱック しきれて いな レ 、所 や 掘 り 
下げが 足 り ない 部分 も ある ことでしょう 。私の 技量 不足と レ 、 う だけで はな く , それだけ X 68000 
は 奥の 深し 、嫌 成 という ことで も あると 思います。 

グラ フ ィ ッ ク ゃサゥ ン ドな どの 表に 現れる よ う な 部分 は, 当然の こ と ながら, X 68000 に は 
カタログ スペックと して 表れて こ ない 部分まで ま肘 幼に 追レ 、続ける, マニアックな こ だ わ り カ键 
所に 見られます。 

愈 原スィ ツチ だけで は 電源が 切れないよう にしたり, 電源が 切れても, キーボードに は 電源 
カ^^され ている ようにして みたり, 画面 全体の コントラスト を 16 段階に 切り替えられ るよ 
うにしょう などと は, ビジネス ハ。ソ コン屋 なら 考え もっかない でしよう。? 00 ひとつ をと つて 
みても, カタログ スペック を 優先させる なら, なにも オート イジ ェクト がで きる 必要 はあり ま 
せん。 実際, ? 00 1|# は 過当競争 辦で, コス ト ダウンが & 優先で あ り, オート イジ ェクト 機 
構な どと いう 余分な 機能が 付レ 、 た ?00 は どこもつ くり たがらない のです。 コスト 的に も , "^; 
的な レノ く' 一 付 き の もの を 使つ たほう 力、 有利に 決ま つてい ます。 カタ 口 グ 上に も 出ない よ う な 部 
分で あると しても, 気持ちよ く 使える ようにな るので あれば, たとえ コストアップ になった と 
しても, あえて その 道 を 選ぶ, そんな 設計 は ビジネス パソコン 屋に はまず 不可能でしょう。 

たとえ カタ 口 グ上は 他の マ シンと 同等 かや や 下に 思えて も, このような X 68000 の 裏の 部分 
ま での こ だ わ り が, 長く 使って いく 間に 本当の 満足感 となって いく の だろ う と き 、 ま す。 

そんな X 68000 の 潜在能力 を 引き 出 し, パーソナル コンビ ユー ティン グの 世界 を 目指す あ な 
たに, 本書が なにがし かの 手助けと なれば, 筆者と して これに 勝る 喜び はあり ません。 



1992 年 2 月 11 曰 (火) 冬季 ォ リン ピック を じ2 - 600 02 で 11 兆め つつ 



くわの ま さ ひこ 

菜 野雅彦 



参考文献 



X 68000 テクニカル データ ブッ ク アスキー 

X 68000 べス ト . プロ グラ ミ ング 入門 技術 評論 社 

半導体 集積回路 通信 用し 51 沖 電気工 業 

マイクロコンピュータ 技術 資料 2853050: シャープ 

5081 ボー ド じ 2-6851 取扱説明書 シ ャ ープ 

16/32 ビッ トマ イク 口 プロセッサ 丁 1X5-68000 周辺 デバイス 東芝 

16 ビット マイクロ プロセッサ 丁 1X5-68000 マイクロ プロセッサ 編 東芝 

丫1^2151 カタログ 日本 楽器 製造 

^2151 アプリケーション カタログ 日 本 楽器 製造 

71^2608 アプリ ケーシ ョ ン マニュアル 日本 楽器 製造 

072065/72066 0\105 X: ユーザーズ マニュアル 口 本 電気 

053008-100/055008-100 ディスク コン トロー ラ 機能 仕様書 日本 電気 

マルチチップ 日本 電気 

521^1001^0110701? 八丁 八 800〖 8/16 ビット マイクロコンピュータ 曰 立 製作所 

5 じ 31 プロ トコ ルコン トロー ラ 1^889352 八 ユーザーズ マニュアル 富士通 

インテリ ジ ヱント ディスク コントローラ 021^ マニュアル 富士通 

尺?5じ15 ユーザーズ マニュアル リ コー 

1\105 ^1101-0131-006530^ 311(3 ? 6^1^1161-313 六! ^0 

最新 5じ51 マニュアル 0(3 出版社 

1^68000 マイクロ プロセッサ ユーザーズ-マニュアル じ 出版社 

1\4068901 1^01.71-^11^0X10^ しは^ 3 ^ぉ II ぜ 。!^ぉ。。) …… 1\40 丁 01^0 し 八 

1\4068881 1;36 !"' 5 ^3111131 1\10 丁 0110 し 八 

^^51 乂ョ. 131-1986 八 0161^311 ^3(1101131 51:311^31-6 ^ョ!;让リぉ 

X 68000 技術 資料 シャープ 



524 



陽 ひ 

0^ 三 X 秦 英数字 順 



12/24 時間 セレクタ— 151 
16 色 モー ド ^21 
256 色 モー ド ― 21 
3 スコー プ— 518 
65536 色 モー ド醃 21 







ま コ ンバ一 タ— 292 
^0^0171^257,291 
八 5, モー ド ^309 
八丁!^ 信号— 455 



86 画面— 165 

〜の 0门ズ0「「^ 186 
〜のス クロ 一 ゾレ— 199 

86 デー タエ リ ァ— 174, 177 

815^10 モー ド— 310 

8 リ 5 丫" 71 



⑩ 



005^488 

じ0。0!\^23, 218 

01^112 

0^70^181,230 

01^7 インタフェース— 181 







0ズ 八 コンバータ ^292 

01\ /!パ チャンネル 一 27 

〜の 割り付け— 27 
0(7 ^転送 モー ド— 486 
0^454 
卩 しし— 316 







「00 ト 387 
ド" ― 316 
1^/1 1 ― 316 
ド! VI 音源— 259, 261 






I ド し- [; 

《ファ 

しド 
⑩ 



『し— 円 0(71—23 



^ ファクター— 122 



し^ 0^259 



1711=^77 

1^011057110 モー ドト 310 



1^八1^110 
議鉍 71 
1^2—314 
1^^21^314 



09 き 261 

0? クラス ^ 13 1 







転送 一 477 



525 



900 ェ リ ァ— 173,174 
900 データ— 174 
90^\ 方式— 291 



^巳 5 &丁 コント ローラ— 153 
只 丁 0147 

5/^51^429 
500^305 

5051 インタフェース ^453, 462 
50 し 0312 



50 しじ ループ モー ドト 313 
5叫 波形 テーブル— 263 
5)3(^465, 470, 485 
5^171^22 

〜の 書 き 込み 許可/禁止— 52 〇 
55^19 
5 丁 608 巳ト 371 



丁 日-し 510^148 



リ 5 八^! ^92 



526 



1リ0 曰 X 

01^ 已 X 參 五十音順 



アクセス 制御機 構— 2 06 
アクセス マスク— 202 
ァービ トレー ショ ン フェーズ I 
アレイ チ エイ ン ― 35 
アン ダス キャン— 16 ァ 



456 







イニシエータ ^454 

ィ ベン ト カウン トモ 一 ド ^90 

色コー ド— 213 

色 データ ト 213 

インター レース— 167 





閏年 ォ 



閏年 カウンタ— 巧2 



円筒 スクロール— 195 

エンベロープ ジェネレータ 263 







才一 トェ コート 316 

ォー ト ベクタ— 73 

ォー ト リ ク エス トモ 一 ドー 32,34 

オーバ スキャン— 168 

オペ ラン ド ^28 



外部 同期 モー ド ― 311 

外部 要求 転送 モー ド 一 32 , 33 

拡張 精度— 109 

画像 取 り 込み—" 3 

画面 モー ド— 166 



画面 モー ド 設定— 2 30 

カラ一 イメージ ュニッ ト— 519 

カラー パ レツ ト— 213 







奇数 パリティ^ 309 
キ一 ボー ドト 353 
キー ボー ド し 曰 0^365 







偶数 パリティ— 309 



グラフ ィ 
グラフ ィ 
グラフ ィ 
グラフ ィ 
グラフ ィ' 



継続 動作 ^35 
限定 速度 ^34 



'ク ソ闩糸!^— 21,169 
, ク 画面 ト 21, 164 
'ク 画面 高速 ク リア— 203 
― ク 画面の ス ク 口 一 ノレ ト 198 
クメく レツ ト ^214 



8 



高 解像度 ^166 
高速 ク リア 機能— 203 
コント ラス トの 調整— 517 
コント 口一 ラト 454 



6 



最大 速度 & 34 

サン プリ ング 周波数 ^ 29 2 







システム 1/0 領域— 22 

システム ポー ト— 517 
実 画面— 1ァ 1 



527 



ジョイスティック インタ フエ 一 ス— 377 

条件付き 命令" 26 

シングル ァ ドレス モー ド— 3 0, 31 

数値 演算 プロセッサ— 化3 

スクロール ト 194 

スタティック X ファクタ 一— 122 

スタティック レジスタ リスト い 24 

ス プライ ト— 化 5 , 178 

ス プライ ト V ^バ IV! 酙 237 

ス プライ ト コント ローラ— 184, 186, 234 

ス プライ 卜の 01\!ズ0「「^ 189 

スロット ^263 

静的 に ファクターお 1 " 

セント ロニ クス インタフェース— ひ1 

き 

ダイナ ミックに ファクタ一 ト 12 2 
ダイ ナミ ック レジスタ リ ス ト^ 124 
タイマー 87, 261 

タイマ コント ロール レジスタ— 90 
タイマ データ レジスタ— 90 
タイ ミ ングの 調整 ^ 23 1 
ター ゲッ ト— 454 
単精度^ 09 



通常 伝送— 311 


ディ レイモ一 ドト 87 
テキスト V ^ム 171^ 22 , 171 
テキス ト 画面, 22 , 164 , 1ァ 1 

〜の 色コー ド— 172 

〜の スクロール ト 197 
テキス トノ、 。レツ ト— 213 
デュアル ァ ドレス モー ドー 30, 31 
電源 0「 ド— 520 



透過 伝送 モー ド— 加 
同時 アクセス 機能— 2 05 
動的 X ファクタ一— 1ぉ 
特殊 プライオリティ^ 11 

ド ット クロック の 切 り 替え— 519 

ト ラック フォー マツ ト— 401 

ノイズ ジェネレータ ― 263, 265, 271 
ノイズ 発生 器— 261 

倍精度 ^09 

ノくス 遷移 ^434, 456 

バース ト モー ド ― 33 

ハー ド 転送" 86 

パリ ティ— 454 

パルス 幅 測定 モー ド ^89 

メく レツ トー 213 

半透明 機能— 207 

パン ポッ ト 制御— 259,291 



ビデオ コン ト ローラ 酙 181, 186, 207, 234 
非同期通信 & 309 

ビブ ラー トー 261 
表示 画面 ト 171 
標準 解像度 ト 16 6 

フエ一 ズジ エネ レー 夕— 263 
フォー マツ トト 408 
フォント ― 218 
符号化— 314 

プライオリティ 制御 ト 化6 
プリ スケ ーラ ^87 
プリ ミ ティブ^ 113, 115 
プリンタ インタ フエ ース— 371 
フレー ミ ングェ ラート 309 



528 



1リ0 曰 X 



プレーン ^171 

プログラム 転送 モー ド— 4 86 
フロッ ピー ディ スク コント ローラ— 387 
フロッピーディスク ドライブ 
インタフェース— 387 







ページ— 171 



ホスト ^454 

ホール ド 付き サイ クルス チール モ一 ドー 33 
ホール ド なし サイクル スチール モー ドー 33 
ボー レー ト ジ エネ レー タ— 314 



II 



'ウス ィ ン タフ エース— 353 
'ウス 制御 信号^ 367 
'ニュ アル 転送— 485 
'ン チェスター 符号— 316 







メインメモリ ^21 

メ ッ セージ ァゥ ト フ. 

メ ッ セージ ィ ン フエ- 



― ― ズ ト454, 455, 456 
~ ズ ^454 



メモリ マツ プ ― 19 





ユー 力 



ラスタ 





ユーザ 1/0^22 



ラスタ コ ピー— 206 



リ ァソレ タイム クロ ッ ク ^147 
リ セレクション フ エース 、 4 56 
リ ンク アレイ チェイン ^35 







例外処理 動作— 12 9 
例外べ クタ & 74 





ロープ 





口一 カル ループバック— 316 



割り込み & 71,83 
割り込みべ クタ— 74 , 31 ァ 
割り込み ベクタ 設定 ^ 3 ァ5 



529 



ズ68000 





1992 年 4 月 17 日 初版 第 1 刷 印刷 




1992 年 4 月 23 日 初版 第 1 刷 発行 






くわの まさひこ 

菜野艇 




著 者 




発行者 


孫 正義 




発行所 


ソフト パ -ンク 株式会社 出版 事業部 






〒108 東京都 港 区 高 輪 2-19-13 






営業部 03(5488)1360 






編集部 3 03(5488)1326 




印刷所 


壮光舍 印刷 株式会社 


參 


②] VI 






1581^14-89052-304-9 00055 



落丁, 乱丁 本 はお 取り替え 致します。 
定価 は 表紙に 表示して あり ます。 




^1 ソフト/りつ 

定価… 6800 円 [本体' 6602 円] 




本書 は、 シャープの ズ68000 本体に 内蔵され ている 0? リ および 两 辺し 51 の 動作 を 

すでに 公開され て I 、る 技術 資料 を もとに、 筆者 自 身が 実 181 に 

動作 確碟 しながら 謂べ 上げた テクニカル データ ブックです。 

記述 〖;^ たって は、 画面 制御 関連 はいう まで もな ぐ 

既存の 資料に は ほとんど 記述され て I 、な I 、 (ある I 、は、 まったく 記述され て I 、な 1 

ひロ ん 数値 演算 プロセッサ、 「IV! 音源、 ^0?01^^ 3厶51、 3051 などに つ I 、て 

咩钿な 記述が 加えられて I 、ます。 

さらに、 親 者の 方が 動作 確 8 できる よ 5 に、 900 ^0 でも 可) を 使った 
サンプル プログラム も 付 I 、てお リ、 た I 、へん 実 81 的な 内容 1カ つて I 、ます。 



158^4-89052-304-9 00055 1=6800 三 




^| ソフト/りつ 

定価… 6800 円 [本体' 6602 円] 



本書 は、 シャープの ズ68000 本体に 内蔵され ている (^リ および 周辺し 51 の 動作 を、 
すでに 公開され ている 技術 資料 を もとに、 筆者 自身が 実隊に 
動作 確睇 しながら 調べ 上げた テクニカル データ プックです。 
記述 (な たって は、 画面 制御 闋連 はいう まで もな ぐ 

既存の 資料に は ほとんど 記述され て I 、な I 、 (ある I 、は、 まったく 記述され て I 、な I り 
01\; !ム、 数値 演 コプロセッサ、 「IV! 音源、 众 0901^1、 5 焱 51、 5051 などに つ I 、て 
咩 細な 記述が 加えられて I 、ます。 

さらに、 読者の 方が 動作 確認で きる ように、 900 (スじ でも 可) を 使った 
サン カレ プログラム も 付 I 、ており、 た I 、へん 実 钱 的な 内容 1プ よって I 、ます。